Giter Club home page Giter Club logo

flex-plugin-builder's Introduction

Twilio Flex Plugin Builder

Monorepo for all the tooling needed to create a custom Twilio Flex Plugins

Getting Started

Flex Plugin Builder requires Node.js. We support and recommend the LTS versions of Node. This is a monorepo project managed by lerna for creating Twilio Flex plugins.

User Guide

Please visit Twilio Docs for the latest docs on Plugins CLI and API.

Changelog

Major changelogs can be found in the changelog directory.

Contributing

Check out CONTRIBUTING for more information on how to contribute to this project.

License

Flex Plugin Builder is licensed under MIT.

Contributors

Thanks to the wonderful people listed in CONTRIBUTORS.md.

This project follows the all-contributors specification. Contributions of any kind welcome!

flex-plugin-builder's People

Contributors

ahcai avatar aishwarya-tw avatar allcontributors[bot] avatar alvarezcindy avatar andreasonny83 avatar anjha91 avatar betson avatar dependabot[bot] avatar dkundel avatar flex-runtime avatar github-actions[bot] avatar hsingla005 avatar jtgi avatar kamolins3 avatar krishnakalluri avatar krishnasundaresan avatar ktalebian avatar macdonmc avatar martinamps avatar narendrashetty avatar phollaa avatar pragya-arora avatar sanjeet-tw avatar shelbyz avatar shwet2407 avatar shyamasish-twilio avatar susaha135 avatar thegarkine avatar theryankennedy avatar web-flow avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

flex-plugin-builder's Issues

Can't select correct environment during local development.

Our organization has two Flex instances one prod and one test (test doesn't have SSO configured). When I'm doing local development and run 'npm start' the page comes up but it always default to our prod environment where I have no tasks. In addition the environment selector that appears at the top of the screen when I access the hosted version of the app is not available so I can't switch the environment. My plugin is configured to target the Test environment in the appConfig.js but this configuration seems to be ignored.

The only way I'm able to get around the issue is by clearing my browser cache and launching with a fresh session. This is, however, impractical to do on a regular basis because I constantly need to log into the Twilo Console to upload new assets and test the other environments. Is there ANY way you could add the environment selector to the local dev version of TF used by the plugin builder?

Redux Middleware (thunks)

I'm trying to make an API call from custom component in my plugin. I'm using the flex-plugin package.

I can't to configure the middleware like thunks with redux.

The code in states/index.js:

import { combineReducers } from 'redux';
import { reduce as CustomTaskListReducer } from './CustomTaskListState';

// Register your redux store under a unique namespace
export const namespace = 'test-uva';

// Combine the reducers
export default combineReducers({
  customTaskList: CustomTaskListReducer
});

The main plugin code is:

init(flex, manager) {
    this.registerReducers(manager);
   flex.TaskInfoPanel.Content.replace(
      <ExtraInfoPanel key="extra-info-component"/>,
      {}
    ); 
  }

  /**
   * Registers the plugin reducers
   *
   * @param manager { Flex.Manager }
   */
  registerReducers(manager) {
    if (!manager.store.addReducer) {
      // eslint: disable-next-line
      console.error(
        `You need FlexUI > 1.9.0 to use built-in redux; you are currently on ${VERSION}`
      );
      return;
    }
    manager.store.addReducer(namespace, reducers);
  }

I see something about it in https://www.twilio.com/docs/flex/ui-migration-guide but I don't know how integrate it with the current code.

[BUG] Version and Help commandline args both mapped to `h` alias

Description

The version and help command line arguments both are mapped to the same alias.

Versions

package version
create-flex-plugin X.Y.Z
flex-plugin X.Y.Z
craco-config-flex-plugin X.Y.Z
node X.Y.Z
npm X.Y.Z

Steps to Reproduce

Please provide the steps to reproduce this bug:

  1. type create-flex-plugin from the command line to show the help content

Expected Behavior

help and version arguments should show different command line aliases

Screenhots

If applicable, add screenshots to help explain your problem.

Additional Context

See lines https://github.com/twilio/flex-plugin-builder/blob/master/packages/create-flex-plugin/src/lib/cli.ts#L67-L73

[BUG] npm run deploy doesn't deploy styles correctly when using external css/scss module styles

Description

My team does not want to use the react-emotion styles. We would much prefer to use the react-scripts default css module files, (import style from './CustomTaskList.module.css';) or else to simply use global scss file imports. (import './CustomTaskListGlobal.scss') However, this breaks down in your default webpack build when it comes time for deployment. (even when using plain old .css files btw, the scss isn't the issue necessarily, the scss works on the dev-server so long as you install node-sass alongside it, and they get compiled to css files at build time just fine)

The issue is your default build doesn't pull any of the styles into the bundle nor does it reference the ./build/static/**.css files anywhere from within the bundle. Therefore what happens is it works when serving locally but it breaks down once built/deployed.

Versions

package version
create-flex-plugin 3.7.0
flex-plugin 3.5.0
craco-config-flex-plugin 3.6.2
node v13.7.0
npm 6.13.6

Steps to Reproduce

Please provide the steps to reproduce this bug:

  1. npm i -g create-flex-plugin
  2. create-flex-plugin plugin-my-flex-plugin --typescript --install
  3. cd plugin-my-flex-plugin
  4. create new src/components/CustomTaskList/CustomTaskList.module.css file
  5. add this to it .accented { color: blueviolet; cursor: pointer; float: right; }
  6. open src/components/CustomTaskList/CustomTaskList.tsx
  7. at the top of the tsx file, add the following:
    import style from './CustomTaskList.module.css';
  8. then down around line 24, swap out the icon element for the following: <i className={style.accented} onClick={props.dismissBar}> close </i>
  9. npm start
  10. make sure the close button is pulled right and colored purple
  11. now stop and run npm run deploy
  12. go back to the browser and navigate to https://flex.twilio.com/agent-desktop/
  13. the css module styles no longer work, the close button is no longer pulled to the right nor is it colored purple

Expected Behavior

I would expect the bundle file would either use webpack's to-string-loader to include the styles within the javascript bundle itself, (which is what I ended up doing via a craco plugin) or else your deployment would deploy the build/static/**.css files alongside the bundle and reference them within the bundle accordingly.

Screenshots

component

Screen Shot 2020-04-12 at 12 43 11 AM

css localhost

Screen Shot 2020-04-12 at 12 15 55 AM

css deployed

Screen Shot 2020-04-12 at 12 17 22 AM

Additional Context

The following is a little janky workaround I came up with via a craco-plugin overrides but it works!!

craco-plugin css to-string-loader overrides

Screen Shot 2020-04-12 at 12 45 06 AM

The style assets are built with revision hashes by default, so while you could technically add a loadCss() clause to your code and modify the webpack to not output revision hashes on the style files, it would be ideal if all style types just worked out of the box to where the webpack references the built styles/style-files automatically without manual intervention. I think if you do this, your build will begin to support all the style capabilities of a default react-scripts build. I used the to-string-loader in my workaround because that’s what I read angular uses in its builds and because I didn’t know if your default plugin deployment actually deploys anything other than the built JavaScript plugin file itself. This issue also likely applies to other built assets like svgs and whatnot, although I haven’t tested those directly yet. (i.e. import svg from 'assets/space_guy.svg'; => <img src={svg} alt="Space Guy Svg" />) See #247

[BUG] Portion of the template doesn't copy to new plugin

Description

Here is the template we are using for creating a new plugin: https://github.com/twilio/template-es-flex-plugin/tree/Functions_v2_integration

The file https://github.com/twilio/template-es-flex-plugin/blob/Functions_v2_integration/template/scripts/functionsV2Deploy.sh looks like this on Github:

#!/bin/bash

#Ptompt user for Account Sid and Token
echo Please enter your Account Sid
read ACCOUNT_SID

echo Please enter your Auth Token
read AUTH_TOKEN

#deploy functions and parse the output, to grab the runtime domain
DOMAIN=`twilio serverless:deploy --override-existing-project -l debug | awk '/domain[[:space:]]/ { print $2 }'`
echo $DOMAIN

#Update Flex configuation with new Functions v2 domain
curl -s 'https://flex-api.twilio.com/v1/Configuration' -u $ACCOUNT_SID:$AUTH_TOKEN |
jq --arg domain $DOMAIN --arg account_sid $ACCOUNT_SID -r -c '{ ui_attributes: .ui_attributes } * { "account_sid": $account_sid, "ui_attributes": { "functionsV2Domain": $domain }}' |
curl -s -X POST 'https://flex-api.twilio.com/v1/Configuration' -u $ACCOUNT_SID:$AUTH_TOKEN -H 'Content-Type: application/json' -d @-

however, when a new plugin is created, here is what that same file looks like inside of the plugin:

#!/bin/bash

#Ptompt user for Account Sid and Token
echo Please enter your Account Sid
read ACCOUNT_SID

echo Please enter your Auth Token
read AUTH_TOKEN

#deploy functions and parse the output, to grab the runtime domain
DOMAIN=`twilio serverless:deploy --override-existing-project -l debug | awk '/domain[[:space:]]/ { print $2 }'`
echo $DOMAIN

#Update Flex configuation with new Functions v2 domain
curl -s 'https://flex-api.twilio.com/v1/Configuration' -u $ACCOUNT_SID:$AUTH_TOKEN |
jq --arg domain $DOMAIN --arg account_sid $ACCOUNT_SID -r -c '{ ui_attributes: .ui_attributes } * { "account_sid": $account_sid, "ui_attributes": { "functionsV2Domain": $domain

The file gets truncated

Versions

package version
create-flex-plugin 3.3.0-beta.0
flex-plugin 3.3.0-beta.0
craco-config-flex-plugin 3.3.0-beta.0
node v10.16.0
npm 6.13.1

Steps to Reproduce

Please provide the steps to reproduce this bug:

  1. Run this command: create-flex-plugin --template https://github.com/twilio/template-es-flex-plugin/tree/Functions_v2_integration plugin-test

Expected Behavior

File gets copied in its entirety

[BUG] Uncaught error in flex-dev-utils/credentials.ts

Description

flex-plugin deploy errors out when attempting to pull credentials during the "Uploading your Flex plugin to Twilio Assets" step:

TypeError: Cannot read property 'substr' of undefined 
at /Users/staxerman/de/playground/plugin-flex-dialpad-addon/node_modules/flex-plugin-scripts/node_modules/flex-dev-utils/dist/credentials.js:175:57

The culprit is in flex-dev-utils/credentials.ts,

const accounts = credentials
    .map((cred) => cred.username)
    .filter((acc) => acc.substr(0, 2).toLowerCase() === 'ac' && acc.length === 34);

Something is going wrong here but there's no error handling 😢

Versions

package version
flex-plugin 3.13.2
craco-config-flex-plugin 3.10.1
node 13.12.0
npm 6.14.4

I'm on MacOS Catalina 10.15.5, Twilio CLI 2.2.0

Steps to Reproduce

Please provide the steps to reproduce this bug:

  1. Attempt to run npm run deploy in a flex plugin repository.

Expected Behavior

A successful deploy, or catching the TypeError and printing a more graceful error message.

[BUG] Failed to compile: Property or signature expected

Description

Hi, I'm using a version 2.9.1, which got automatically installed after doing npm install -g create-flex-plugin. This version contains a bug, that prevents compiling when using the -s (typescript) switch.

The error is this:

Failed to compile.

./src/states/index.ts
  Line 16:  Parsing error: Property or signature expected

This has already been fixed on dev branch and will eventually be fixed in the version 3, the commit is this one:

88078be

Can we get this patch backported and 2.9.2 released? :)

Versions

package version
create-flex-plugin X.Y.Z
flex-plugin X.Y.Z
craco-config-flex-plugin X.Y.Z
node X.Y.Z
npm X.Y.Z

Steps to Reproduce

Please provide the steps to reproduce this bug:

  1. npm install -g create-flex-plugin
  2. create-flex-plugin -s plugin-my-test-plugin
  3. cd plugin-my-test-plugin
  4. npm i
  5. npm start

Expected Behavior

Compiles

[FEATURE REQUEST] - React Hot Reload

React Hot Reload

I trying to configure React Hot Reload in many ways.
Is it possible that this is implemented? I think this is crucial for a good developer experience.

Description of Solution

I need that my plugin get updated when I save the file without loose the state and reload the entire application on each file change.
There is a plugin to do that in CRAs with Craco: https://github.com/HasanAyan/craco-plugin-react-hot-reload#readme

But at first I couldn't put this to work... Heeeelp 🙏

can't create plugin: frame-ui package missing

  1. create-flex-plugin plugin-sfdc --yarn
  2. cd plugin-sfdc
  3. yarn

Get the error:

yarn install v1.9.4
...
error Couldn't find package "@twilio/frame-ui@^0.16.0" required by "@twilio/flex-ui@^1.0.0" on the "npm" registry.
...

Is @twilio/frame-ui not public?

A little un-related - where on github can we see the source of the @twilio/* packages?

thanks

Unable To Setup Local Development Environment With Git Bash On Windows 10

I am currently trying to install a local version of Flex to do plugin development. I am following these installation instructions found at https://flex.twilio.com/admin/developers:

npm init flex-plugin plugin-name
cd plugin-name
npm install
npm start

When running npm install, I get an error that looks like https://ibb.co/rx5cVqx

The offending command (packaged under npm install) seems to be flex-plugin check-start. I believe this has something to do with how the Git Bash client is configured on Windows machines (I am running Windows 10).

Any way to bypass this error by modifying one of the module files?

npm install fails

Running on:

  • Windows 10
  • node 8.12.0
  • npm 5.8.5

I have run npm install -g create-flex-plugin and create-flex-plugin plugin-test and cd plugin-test. When I run npm install I get a ton of errors all similar to 'xxx': is not a member of 'v8':

Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
bufferutil.cc
win_delay_load_hook.cc
c:\projects\flex\plugin-test\node_modules\twilio-client\node_modules\nan\nan.h(213): error C2039: 'ThrowException': is
not a member of 'v8' (compiling source file ..\src\bufferutil.cc) [C:\projects\flex\plugin-test\node_modules\twilio-cli
ent\node_modules\ws\build\bufferutil.vcxproj]
c:\users\dirwin.node-gyp\8.12.0\include\node\node.h(101): note: see declaration of 'v8' (compiling source file ..\sr
c\bufferutil.cc)
c:\projects\flex\plugin-test\node_modules\twilio-client\node_modules\nan\nan.h(213): error C2039: 'New': is not a membe
r of 'v8::String' (compiling source file ..\src\bufferutil.cc) [C:\projects\flex\plugin-test\node_modules\twilio-client
\node_modules\ws\build\bufferutil.vcxproj]
c:\users\dirwin.node-gyp\8.12.0\include\node\v8.h(2503): note: see declaration of 'v8::String' (compiling source fil
e ..\src\bufferutil.cc)

If I try to run npm start it fails because there is no file index.html in the public folder.

[BUG] Uncaught (in promise) t: Error while setting LastConsumedMessageIndex

Description

Not sure if this is a bug, but is not a feature request for sure, sorry if the label is wrong.

I'm receiving this error after sending a goodbye message (whatsapp or sms, happens in both)
Uncaught (in promise) t: Error while setting LastConsumedMessageIndex. The goodbye message is sent, the task completes, but there is this error in the console..

We want every chat-channel task to be in wrapping state before transitioning to completed (lifecycle of a task), so we are "finishing tasks" as follows

const onCompleteTask = async (sid, task) => {
  if (task.status !== 'wrapping') {
    if (task.channelType === channelTypes.voice) {
      await flex.Actions.invokeAction('HangupCall', { sid, task });
    } else {
      await flex.Actions.invokeAction('WrapupTask', { sid, task });
    }
  }
  flex.Actions.invokeAction('CompleteTask', { sid, task });
};

The goodbye message is a copy-paste of the code provided in the docs. If we trigger WrapupTask event, wait for a timeout of 1 second and then trigger CompleteTask, the error is gone. Is this a race condition on some listener? Do you know how can we handle this withouth the error?

Versions

package version
flex-plugin ^3.0.0
craco-config-flex-plugin ^3.0.4
node 12.10.0
npm 6.14.4

Steps to Reproduce

  1. Add the following function as the handler for a button in the flex plugin
const onCompleteTask = async (sid, task) => {
  if (task.status !== 'wrapping') {
    if (task.channelType === channelTypes.voice) {
      await flex.Actions.invokeAction('HangupCall', { sid, task });
    } else {
      await flex.Actions.invokeAction('WrapupTask', { sid, task });
    }
  }
  flex.Actions.invokeAction('CompleteTask', { sid, task });
};
  1. Replace the action for the WrapupTask event:
flex.Actions.replaceAction("WrapupTask", (payload, original) => {
    // Only alter chat tasks:
    if( payload.task.taskChannelUniqueName !== "chat" ) {
        original(payload);
    } else {
        return new Promise(function(resolve, reject) {
          // Send the message:
          flex.Actions.invokeAction("SendMessage", {
            body: 'Thanks for chatting. Your session is now closed.',
            channelSid: payload.task.attributes.channelSid
          }).then(response => {
            // Wait until the message is sent to wrap-up the task:
            resolve(original(payload));
        });
    });
}
  1. Accept a messaging task, and just click the button that executes the above function (finish the task).

Expected Behavior

Not to receive an error after sending the goodbye message.

Screenshots

Screenshot from 2020-04-10 19-38-11

Unable to set logoUrl on MainHeader and LoginView via defaultProps or componentProps

I am unable to set the logoUrl on MainHeader and LoginView components.

I've tried setting it via defaultProps:

flex.MainHeader.defaultProps.logoUrl = ...

And via componentProps:

import { FlexPlugin } from 'flex-plugin';
import React from 'react';
// import CustomTaskListComponent from './CustomTaskListComponent';
const config = {
  colorTheme: { 
    baseTheme: 'light-blue' 
  },
  componentProps: {
    AgentDesktopView: {
      showPanel2: false
    },
    MainHeader: {
      logoUrl: 'https://20lnm2bmf1b2itq793p1bkr1-wpengine.netdna-ssl.com/wp-content/uploads/2018/01/Surge-Logo@_200x50.png'
    },
    LoginView: {
      logoUrl: 'https://20lnm2bmf1b2itq793p1bkr1-wpengine.netdna-ssl.com/wp-content/uploads/2018/01/Surge-Logo@_200x50.png'
    }
  }
};

export default class DemoPlugin extends FlexPlugin {
  name = 'DemoPlugin';

  init(flex, manager) {
    // flex.AgentDesktopView.Panel1.Content.add(<CustomTaskListComponent key="demo-component" />, {
    //   sortOrder: -1,
    // });

    // This does not work either:
    // flex.MainHeader.defaultProps.logoUrl = 'https://20lnm2bmf1b2itq793p1bkr1-wpengine.netdna-ssl.com/wp-content/uploads/2018/01/Surge-Logo@_200x50.png';
    // flex.LoginView.defaultProps.logoUrl = 'https://20lnm2bmf1b2itq793p1bkr1-wpengine.netdna-ssl.com/wp-content/uploads/2018/01/Surge-Logo@_200x50.png';
    manager.updateConfig(config);
  }
}
``

Any ideas?

[BUG] Fix create-flex-plugin --typescript sourcemaps

Description

When creating a brand new flex plugin with the typescript flag, create-flex-plugin plugin-my-plugin --typescript the default scaffold results in the sourcemaps not working. This makes it difficult to be as productive as we might have otherwise been.

Versions

package version
create-flex-plugin 3.7.0
flex-plugin 3.5.0
craco-config-flex-plugin 3.6.2
node v13.7.0
npm 6.13.6

Steps to Reproduce

Please provide the steps to reproduce this bug:

  1. npm i -g create-flex-plugin
  2. create-flex-plugin plugin-my-flex-plugin --typescript --install
  3. cd plugin-my-flex-plugin
  4. npm start
  5. right-click, click inspect to open the chrome developer console
  6. click on chrome developer console
  7. cmd + p to do a search for source files
  8. Type in the search box CustomTaskList
  9. No files found

Expected Behavior

I would expect chrome dev tools to be able to find any of the typescript files my app is referencing out of the box, both when serving the app locally and when deploying the app to production, and I would expect the sourcemaps to correctly map to the originating typescript files. I would also expect to be able to set breakpoints in any of the relevant typescript files, and have the breakpoints stop the browser's execution so that I can debug what's going on in typescript.

Screenshots

Screen Shot 2020-04-11 at 11 20 14 PM

[BUG] TSConfig changes are overwritten during build process

Description

I updated the tsconfig with paths to make referencing different folders simplified. When I run the build process, it clears out the paths that I created and the build obviously fails because all the import references that were leveraging the paths are now unrecognized.

Versions

package version
create-flex-plugin X.Y.Z
flex-plugin 3.5.0
craco-config-flex-plugin 3.5.0
node 12.4.1
npm 6.14.4

Steps to Reproduce

Please provide the steps to reproduce this bug:

  1. Create a new flex plugin project using create-flex-plugin
  2. Add component in a subfolder under src folder
  3. Add another component under a separate subfolder under src folder
  4. Add a paths property to tsconfig.compileroptions that references one of the paths to the components above
  5. Run npm run build
  6. The tsconfig.json paths entry will be removed (I think during the flex-plugin build process)

Expected Behavior

I expect tsconfig.json to not get re-written or over-written so that added configurations are respected.

how to use pre-configured themes?

https://www.twilio.com/docs/flex/overriding-themes-branding-and-styling states 4 base flex themes:

  • MediumTheme
  • DarkTheme
  • BlueDarkTheme
  • BlueMediumTheme

However flex UI Configure shows 7:
image

Questions:

  1. What is the enumeration of the 7 baseTheme values? ex: is light-blue
  2. How do you define the baseTheme value in your plugin? Tried this below without success:
import { FlexPlugin } from 'flex-plugin';
import React from 'react';

const config = {
  colorTheme: { 
    baseTheme: 'light-blue' 
  },
  componentProps: {
    AgentDesktopView: {
      showPanel2: false
    },
    MainHeader: {
      logoUrl: 'https://20lnm2bmf1b2itq793p1bkr1-wpengine.netdna-ssl.com/wp-content/uploads/2018/01/Surge-Logo@_200x50.png'
    },
    LoginView: {
      logoUrl: 'https://20lnm2bmf1b2itq793p1bkr1-wpengine.netdna-ssl.com/wp-content/uploads/2018/01/Surge-Logo@_200x50.png'
    }
  }
};

export default class DemoPlugin extends FlexPlugin {
  name = 'DemoPlugin';

  init(flex, manager) {
    manager.updateConfig(config);
  }
}

npm start doesn't show my plugin

Description

npm start doesn't show my plugin (tried with Windows and Ubuntu). When I compile it and upload it to Twilio it does work ok.

Versions

package version
create-flex-plugin 2.5.0
flex-plugin ^2.4.0
node 10.15.1
npm 6.4.1

Expected Behavior

I should see at least a console saying that my plugin loaded.

Screenhots

Localhost:
Captura

Twilio Flex:
Captura

[BUG] flex-plugin deploy doesn't deploy any of the built img media assets alongside the bundle

Description

The issue is your default build doesn't pull any of the build image assets into the bundle nor does it deploy the ./build/media/** files alongside the bundle. Therefore what happens is it works when serving locally but it breaks down once deployed.

Versions

package version
create-flex-plugin 3.7.0
flex-plugin 3.5.0
craco-config-flex-plugin 3.6.2
node v13.7.0
npm 6.13.6

Steps to Reproduce

Please provide the steps to reproduce this bug:

  1. npm i -g create-flex-plugin
  2. create-flex-plugin plugin-my-flex-plugin --typescript --install
  3. cd plugin-my-flex-plugin
  4. create new src/components/CustomTaskList/CustomTaskList.module.css file
  5. at the top of the src/components/CustomTaskList/CustomTaskList.module.tsx file, add the following: import svg from 'assets/space_guy.svg';
  6. then down around line 24, add the following: <img src={svg} alt="Space Guy Svg" />
  7. npm start
  8. make sure the svg shows up
  9. now stop and run npm run deploy or flex-plugin deploy
  10. go back to the browser and navigate to https://flex.twilio.com/agent-desktop/
  11. the svg image is no longer found

Expected Behavior

I would expect the bundle file would either use webpack's to-string-loader to include the svg within the bundle or else your default deployment would bundle the extra media assets up with the plugin and make the file paths still resolve correctly.

Screenshots

build output

Screen Shot 2020-04-13 at 4 03 58 PM

svg localhost

Screen Shot 2020-04-13 at 3 23 31 PM

svg deployed

Screen Shot 2020-04-13 at 3 53 16 PM

Additional Context

src/assets/space_guy.svg

<svg id="Ebene_1" data-name="Ebene 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 440.46 273.98"><defs><style>.cls-1{fill:#efefef;}.cls-2{fill:#6d699c;opacity:0.2;}.cls-3{fill:#0a0a16;}.cls-4{opacity:0.7;}.cls-5{fill:#030307;}.cls-6{fill:#fff;}.cls-7{fill:#2d2d3d;}.cls-8{fill:#b7b7bc;}.cls-9{fill:#8a8a96;}.cls-10{fill:#a5a5ad;}.cls-11{fill:#0a6bbe;}</style></defs><title>astronaut</title><g id="leg_right"><path class="cls-1" d="M361.28,66.44l2.54,20.63a15.83,15.83,0,0,1-10,16.71l-39.29,15.16a28.26,28.26,0,0,1-12.78,1.78l-41.63-3.88-5.44-.51L241,85.33l10.12-9.16a25,25,0,0,1,11.79-6,30.86,30.86,0,0,1,17.42,1.21c12.67,5,19,17.67,19,17.67l28.29-8.66s0,0,0,0l-.74-7.83Z"/><path class="cls-2" d="M371.75,24.08a28.17,28.17,0,0,1-7.93,3.74A26.93,26.93,0,0,1,356.66,29l3.1,25.13,4.06,32.94a15.83,15.83,0,0,1-10,16.71l-39.29,15.16a28.26,28.26,0,0,1-12.78,1.78l-41.63-3.88c2.29-5.08,7.43-12,18.73-14,15.25-2.75,21.25,7,21.25,7l50.3-19a4.37,4.37,0,0,0,2.79-4.61L350,59.37l-3.37-28a7.39,7.39,0,0,1,5.29-8l4.41-1.27a4.58,4.58,0,0,0,3.16-5.57l-.26-1-1.1-4.2,5.51-3,3.47-1.91,7.12-3.93c1.58.59,2.54,1.37,2.74,2.36v0C377.84,7.07,381.37,17.44,371.75,24.08Z"/><path class="cls-3" d="M371.75,24.08a28.17,28.17,0,0,1-7.93,3.74A26.93,26.93,0,0,1,356.66,29l3.1,25.13,1.76,14.26a32.46,32.46,0,0,1-9.9,4.92,45,45,0,0,1-6.29,1.52A34.06,34.06,0,0,1,327,73L321.46,16.5l45.6-10.11,9.69-2s.07.14.17.41v0C377.84,7.07,381.37,17.44,371.75,24.08Z"/><path class="cls-4" d="M371.75,24.08a28.17,28.17,0,0,1-7.93,3.74A26.93,26.93,0,0,1,356.66,29l3.1,25.13,1.76,14.26a32.46,32.46,0,0,1-9.9,4.92L350,59.37l-3.37-28a7.39,7.39,0,0,1,5.29-8l4.41-1.27a4.58,4.58,0,0,0,3.16-5.57l-.26-1-1.1-4.2,5.51-3,3.47-1.91,7.12-3.93c1.58.59,2.54,1.37,2.74,2.36v0C377.84,7.07,381.37,17.44,371.75,24.08Z"/><path class="cls-5" d="M376.91,5.68c-.65,3.05-7.7,6.87-17.73,9.85-3.24,1-6.78,1.84-10.53,2.57-15.29,3-24.46,2.58-26.84-.8a2,2,0,0,1-.35-.8c-.81-4.11,7.85-10,24.27-13.27C358.18.79,369.22.61,374.18,2.46c1.58.59,2.54,1.37,2.74,2.36v0A2,2,0,0,1,376.91,5.68Z"/></g><g id="leg_left"><path class="cls-6" d="M394.3,75l-12,33.34a34.53,34.53,0,0,1-6,8c-4,4-13,6-13,6l-62,19-88,37-29.31-47-2.19-3.52,2.26-1.07,39-18.48,53.73-25.45s12-1,21,3a37.3,37.3,0,0,1,14,11l38-11,8.84-23.42,22.93,8.1Z"/><path class="cls-2" d="M440.45,17.21c-1.28,4.15-3.32,8.81-8.95,12.62-6.17,4.17-20.5,0-20.5,0L405.06,45,394.3,75l-12,33.34a34.53,34.53,0,0,1-6,8c-4,4-13,6-13,6l-62,19-88,37L193,145.72l31.43-13.13a5.72,5.72,0,0,0,.67,1.27l5.23,7.4a5.49,5.49,0,0,0,6.57,1.91l34.95-14.34a27.67,27.67,0,0,0,7-4c4-3,11-13,20-14s14,2,16,7l47.77-11.5a12.06,12.06,0,0,0,8.47-7.51l8.36-22.48,2.17-5.83,6.55-17.6L399.2,23.2a5.05,5.05,0,0,1,6.12-3.09l5.33,1.52a5.24,5.24,0,0,0,6.13-2.69l.63-1.26.59-1.19a5.5,5.5,0,0,1,5.86-3l12.77,2.22c1.56.28,3,.2,3.78,1.4Z"/><path class="cls-3" d="M440.45,17.21c-1.28,4.15-3.32,8.81-8.95,12.62-6.17,4.17-20.5,0-20.5,0L405.06,45,393.77,76.44a33.3,33.3,0,0,1-14.34-.1l-.11,0A39.37,39.37,0,0,1,373,74.41c-10-4-13.61-10-14.45-11.69-.16-.31,21.78-58.22,22.78-60.39s2.81-2.61,24.31,2.56,25.19,5.75,31.13,9.44C437.12,14.55,440.59,16.8,440.45,17.21Z"/><path class="cls-4" d="M440.45,17.21c-1.28,4.15-3.32,8.81-8.95,12.62-6.17,4.17-20.5,0-20.5,0L405.06,45,393.77,76.44a33.3,33.3,0,0,1-14.34-.1l2.17-5.83,6.55-17.6L399.2,23.2a5.05,5.05,0,0,1,6.12-3.09l5.33,1.52a5.24,5.24,0,0,0,6.13-2.69L418,16.49a5.5,5.5,0,0,1,5.86-3l12.77,2.22C438.22,16,439.67,16,440.45,17.21Z"/><ellipse class="cls-5" cx="410.91" cy="9.74" rx="6.29" ry="30.44" transform="translate(298.89 405.2) rotate(-75.54)"/></g><g id="backpack"><path class="cls-3" d="M288.91,87.75l-64.14,26.51-18.52,7.65-.1-.16L186.33,88.33,198,83.68l52.07-20.81a2.48,2.48,0,0,1,2.41.28l36.27,24.48Z"/><path class="cls-5" d="M290.83,90.66v12a3.22,3.22,0,0,1-2,3L224.4,132.58l-12.57,5.25-5.68-16.08-.32-.92,19-7.81,61.55-25.35a3.19,3.19,0,0,1,2.37,0A3.24,3.24,0,0,1,290.83,90.66Z"/><path class="cls-4" d="M224.81,113c0,.14,0,.28,0,.42l0,.82-.69,16.2a5.47,5.47,0,0,0,.32,2.12l-12.57,5.25-5.68-16.08L186.33,88.33,198,83.68a53.47,53.47,0,0,1,14.85,11.15c5.71,6.19,8.7,10.56,10.27,13.45a19.22,19.22,0,0,1,1.48,3.36A5.39,5.39,0,0,1,224.81,113Z"/></g><g id="arm_right"><path class="cls-6" d="M132.25,158.91l-10.38-1-15.55,1.33a1.69,1.69,0,0,0-1.77,1.16l-4.33,13.39-29.39-3.66,10.58-30.2A14.61,14.61,0,0,1,92,130.45l18.19-4.08Z"/><path class="cls-2" d="M119.93,158l-13.61,1.18a1.69,1.69,0,0,0-1.77,1.16l-5,15.35a.53.53,0,0,0,.62.68l.11,0a5,5,0,0,1,6,3.86l1.64,7.84a4.12,4.12,0,0,1-8.06,1.74v0l-.66-3.15a2.48,2.48,0,0,0-1.36-1.74l-1-.52L96,187.05a5.25,5.25,0,0,0,0,3l1.35,4.29a7,7,0,0,1-2.62,7.83,5.46,5.46,0,0,1-6-4l-2.67-10.33a14.09,14.09,0,0,1,.3-8.06l9.17-26.93a7.34,7.34,0,0,1,6.68-4.95l12.92-.44Z"/><path class="cls-3" d="M106.3,180.21l1.64,7.84a4.12,4.12,0,0,1-8.06,1.74v0l-.66-3.15a2.48,2.48,0,0,0-1.36-1.74l-1-.52L96,187.05a5.25,5.25,0,0,0,0,3l1.35,4.29a7,7,0,0,1-2.62,7.83,6.66,6.66,0,0,1-2,1L75.54,208.5a7.21,7.21,0,0,1-9.06-4.91L64.3,196a12.88,12.88,0,0,1,.23-7.84l6.3-18c4.23-3.94,9.42-6.78,15.28-6a17.59,17.59,0,0,1,5.15,1.5,21.57,21.57,0,0,1,9,8.19l-.63,2a.53.53,0,0,0,.62.68l.11,0,.5-.08a4.38,4.38,0,0,1,.5,0h.42a5,5,0,0,1,2.9,1.17,3.45,3.45,0,0,1,.28.26l.3.32c.07.09.15.18.22.28l.07.11a2,2,0,0,1,.19.28,4.21,4.21,0,0,1,.31.64,1.62,1.62,0,0,1,.13.33A3.83,3.83,0,0,1,106.3,180.21Z"/><path class="cls-4" d="M106.3,180.21l1.64,7.84a4.12,4.12,0,0,1-8.06,1.74v0l-.66-3.15a2.48,2.48,0,0,0-1.36-1.74l-1-.52L96,187.05a5.25,5.25,0,0,0,0,3l1.35,4.29a7,7,0,0,1-2.62,7.83,5.46,5.46,0,0,1-6-4l-2.67-10.33a14.09,14.09,0,0,1,.3-8.06l4.85-14.23a21.57,21.57,0,0,1,9,8.19l-.63,2a.53.53,0,0,0,.62.68l.11,0,.5-.08a4.38,4.38,0,0,1,.5,0h.42a5,5,0,0,1,2.9,1.17,3.45,3.45,0,0,1,.28.26l.3.32c.07.09.15.18.22.28l.07.11a2,2,0,0,1,.19.28,4.21,4.21,0,0,1,.31.64,1.62,1.62,0,0,1,.13.33A3.83,3.83,0,0,1,106.3,180.21Z"/></g><g id="laptop"><polygon class="cls-7" points="96.4 209.14 31.99 236.24 140.36 271.51 184.83 228.57 96.4 209.14"/><path class="cls-3" d="M117.52,216.09l23.38,5.15a.76.76,0,0,1,.25,1.38l-10.08,6.52a2.74,2.74,0,0,1-2.28.34L106.09,223a.76.76,0,0,1-.16-1.4l9.66-5.23A2.75,2.75,0,0,1,117.52,216.09Z"/><path class="cls-3" d="M151.31,242.88l2.87-2.38a1.57,1.57,0,0,1,1.45-.38l4.48,1.16a.72.72,0,0,1,.35,1.18l-2.78,2.44a1.58,1.58,0,0,1-1.58.45l-4.49-1.26A.72.72,0,0,1,151.31,242.88Z"/><path class="cls-3" d="M143.28,240.6l2.87-2.39a1.57,1.57,0,0,1,1.45-.38l4.48,1.17a.71.71,0,0,1,.35,1.17l-2.78,2.44a1.56,1.56,0,0,1-1.58.45l-4.49-1.26A.71.71,0,0,1,143.28,240.6Z"/><path class="cls-3" d="M135.31,238.32l2.74-2.32a1.54,1.54,0,0,1,1.39-.38l4.32,1.09a.69.69,0,0,1,.35,1.13l-2.66,2.37a1.5,1.5,0,0,1-1.51.44l-4.33-1.18A.68.68,0,0,1,135.31,238.32Z"/><path class="cls-3" d="M127.44,235.94l2.74-2.27a1.49,1.49,0,0,1,1.38-.37l4.28,1.12a.68.68,0,0,1,.34,1.12l-2.66,2.33a1.5,1.5,0,0,1-1.5.43l-4.29-1.21A.68.68,0,0,1,127.44,235.94Z"/><path class="cls-3" d="M120.13,233.77l2.56-2.14a1.44,1.44,0,0,1,1.3-.34l4,1.05a.64.64,0,0,1,.32,1l-2.49,2.18a1.38,1.38,0,0,1-1.41.4l-4-1.13A.63.63,0,0,1,120.13,233.77Z"/><path class="cls-3" d="M112.3,231.5l2.68-2.22a1.46,1.46,0,0,1,1.35-.36l4.18,1.09a.67.67,0,0,1,.33,1.1l-2.59,2.28a1.49,1.49,0,0,1-1.48.41l-4.19-1.17A.67.67,0,0,1,112.3,231.5Z"/><path class="cls-3" d="M142.17,246.62l2.87-2.38a1.57,1.57,0,0,1,1.45-.38L151,245a.71.71,0,0,1,.36,1.17l-2.79,2.44a1.55,1.55,0,0,1-1.57.45l-4.5-1.26A.72.72,0,0,1,142.17,246.62Z"/><path class="cls-3" d="M134.14,244.34,137,242a1.58,1.58,0,0,1,1.45-.38l4.48,1.17a.71.71,0,0,1,.36,1.17l-2.78,2.44a1.56,1.56,0,0,1-1.58.45l-4.5-1.26A.71.71,0,0,1,134.14,244.34Z"/><path class="cls-3" d="M126.17,242.06l2.74-2.32a1.54,1.54,0,0,1,1.39-.38l4.32,1.09a.69.69,0,0,1,.35,1.13L132.32,244a1.51,1.51,0,0,1-1.52.44l-4.33-1.18A.68.68,0,0,1,126.17,242.06Z"/><path class="cls-3" d="M118.3,239.78l2.64-2.19a1.45,1.45,0,0,1,1.33-.36l4.12,1.08a.66.66,0,0,1,.33,1.08l-2.56,2.24a1.43,1.43,0,0,1-1.45.41l-4.14-1.16A.65.65,0,0,1,118.3,239.78Z"/><path class="cls-3" d="M141.33,253l2.87-2.38a1.55,1.55,0,0,1,1.44-.38l4.48,1.17a.71.71,0,0,1,.36,1.17L147.7,255a1.56,1.56,0,0,1-1.58.45l-4.5-1.26A.71.71,0,0,1,141.33,253Z"/><path class="cls-3" d="M133.3,250.68l2.87-2.38a1.57,1.57,0,0,1,1.45-.39l4.47,1.17a.72.72,0,0,1,.36,1.18l-2.78,2.44a1.58,1.58,0,0,1-1.58.44l-4.49-1.26A.71.71,0,0,1,133.3,250.68Z"/><path class="cls-3" d="M125.33,248.4l2.73-2.31a1.52,1.52,0,0,1,1.39-.39l4.32,1.09a.68.68,0,0,1,.35,1.13l-2.65,2.37a1.5,1.5,0,0,1-1.51.44l-4.34-1.17A.69.69,0,0,1,125.33,248.4Z"/><path class="cls-3" d="M117.46,246l2.74-2.28a1.52,1.52,0,0,1,1.38-.36l4.27,1.11a.68.68,0,0,1,.34,1.12L123.54,248a1.49,1.49,0,0,1-1.51.43l-4.29-1.2A.68.68,0,0,1,117.46,246Z"/><path class="cls-3" d="M132.54,257.12l2.87-2.38a1.57,1.57,0,0,1,1.45-.38l4.48,1.17a.71.71,0,0,1,.35,1.17l-2.78,2.44a1.56,1.56,0,0,1-1.58.45l-4.49-1.26A.72.72,0,0,1,132.54,257.12Z"/><path class="cls-3" d="M124.51,254.84l2.87-2.38a1.57,1.57,0,0,1,1.45-.39l4.48,1.17a.72.72,0,0,1,.35,1.18l-2.78,2.44a1.58,1.58,0,0,1-1.58.44L124.81,256A.71.71,0,0,1,124.51,254.84Z"/><path class="cls-8" d="M32,236.24.25,174.68a2.19,2.19,0,0,1,2.3-3.16L107,188.89a6,6,0,0,1,4.64,3.86l28.71,78.76Z"/><path class="cls-9" d="M184.83,228.57a3.8,3.8,0,0,1-1.09,2.55l-41.41,41.32-1.09,1.09-.12.12a1.22,1.22,0,0,1-.61.33l-.15-2.47.11-.11Z"/><path class="cls-10" d="M140.68,273.57a1.23,1.23,0,0,1-.76,0h0L138.3,273,33.05,237.37a1.07,1.07,0,0,1-.86-.76l0-.79L140.32,271l.21.06Z"/><path class="cls-11" d="M51.85,216.85l11.5,2.79c-1.11,4.68-1.6,7-2.45,11.5,5.95-5.06,9.24-7.79,16.41-13.63l-11.79-2.65c1.23-4.72,1.91-7.12,3.4-12C61.48,208.83,58.07,211.63,51.85,216.85Z"/></g><g id="arm_left"><path class="cls-6" d="M232.36,220.36l-45.8,3.41L177,195.85l31-2,.94-.06-15.12-29.52,20.81-23.82,13.47,27,14.41,28.91,1.62,3.26A14.36,14.36,0,0,1,232.36,220.36Z"/><path class="cls-2" d="M228.2,167.75l-2.28-4.46a8.16,8.16,0,0,0-8.33-4.3,8,8,0,0,0-6.88,6.26,7.78,7.78,0,0,0,.38,4.57l6.73,17.2c1.05,2.53-.33,6.15-3,6.49l-6.77.34.94-.06-15.12-29.52,20.81-23.82,13.47,27Z"/><path class="cls-2" d="M232.36,220.36l-58.46,4.36a8.36,8.36,0,0,0-7.7,7.74,2.2,2.2,0,0,1,0,.37,2.58,2.58,0,0,1-2.31,2l-3.22.28a4.73,4.73,0,0,1-2.24-4.71l2-13.8a6.16,6.16,0,0,1,5.68-5.28l67.79-4.66a9.36,9.36,0,0,0,7.58-4.84,9.32,9.32,0,0,0,1.11-5.49l1.62,3.26A14.36,14.36,0,0,1,232.36,220.36Z"/><path class="cls-5" d="M152.47,199.35s-8.92-1.92-12.74,5.7,7.08,10.47,10.57,6.75S152.47,199.35,152.47,199.35Z"/><path class="cls-3" d="M186.56,223.77l-12.66.95a8.36,8.36,0,0,0-7.7,7.74,2.2,2.2,0,0,1,0,.37,2.58,2.58,0,0,1-2.31,2l-3.22.28-.21,0a6.62,6.62,0,0,1-5.61-2.32l-8.07-9.52A11.68,11.68,0,0,1,144.31,213l2.28-9.21a8.51,8.51,0,0,1,7.71-6.45L177,195.85c5.1,1.94,9.5,4.94,11.24,9.31a24.22,24.22,0,0,1,1.35,4.57A17.15,17.15,0,0,1,186.56,223.77Z"/><path class="cls-4" d="M186.56,223.77l-12.66.95a8.36,8.36,0,0,0-7.7,7.74,2.2,2.2,0,0,1,0,.37,2.58,2.58,0,0,1-2.31,2l-3.22.28a4.73,4.73,0,0,1-2.24-4.71l2-13.8a6.16,6.16,0,0,1,5.68-5.28l23.54-1.62A17.15,17.15,0,0,1,186.56,223.77Z"/></g><g id="head"><path class="cls-6" d="M214.08,123.58A54.84,54.84,0,0,1,178.16,175h0c-5.87,2.15-70.19-73.1-64.39-81.78a55,55,0,0,1,18-17,54.76,54.76,0,0,1,82.29,47.33Z"/><path class="cls-2" d="M204,134.08a58.91,58.91,0,0,1-8.55,30.67A54.56,54.56,0,0,1,178.16,175h0a54.76,54.76,0,0,1-46.36-98.76A59.28,59.28,0,0,1,204,134.08Z"/><path class="cls-5" d="M197.68,134.38A52,52,0,0,1,178.16,175s0,0,0,0a54.76,54.76,0,0,1-64.39-81.78,52,52,0,0,1,83.92,41.15Z"/><path class="cls-3" d="M184.73,168.72a52.1,52.1,0,0,1-6.57,6.29h0a54.76,54.76,0,0,1-64.39-81.78,51.73,51.73,0,0,1,11.69-6.83,51,51,0,0,0,59.28,82.32Z"/><path class="cls-2" d="M123.83,154.33s-16.5-21-9.75-41.25,28.75-28.5,39-14.25-2.25,28.25-9.5,28.5S122.08,126.58,123.83,154.33Z"/></g></svg>

[BUG] create-flex-plugin generates SamplePlugin.js with incorrect import

Description

create-flex-plugin plugin-sample generates a project with incorrect import in src/SamplePlugin.js

import CustomTaskListComponent from './CustomTaskListComponent';

Versions

package version
create-flex-plugin 2.7.0

Steps to Reproduce

Please provide the steps to reproduce this bug:

  1. Execute create-flex-plugin plugin-sample

  2. View file at src/SamplePlugin.js

Expected Behavior

The import should be:

import CustomTaskListComponent from './CustomTaskListComponent';

"path" argument error on validators.js

I'm getting the following error:

TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined
    at validateString (internal/validators.js:118:11)
    at Object.join (path.js:1039:7)
    at noopServiceWorkerMiddleware (/home/mako/Documents/Twilio-Flex/plugin-sickandtired/node_modules/react-dev-utils/noopServiceWorkerMiddleware.js:14:26)
    at Layer.handle [as handle_request] (/home/mako/Documents/Twilio-Flex/plugin-sickandtired/node_modules/express/lib/router/layer.js:95:5)
    at trim_prefix (/home/mako/Documents/Twilio-Flex/plugin-sickandtired/node_modules/express/lib/router/index.js:317:13)
    at /home/mako/Documents/Twilio-Flex/plugin-sickandtired/node_modules/express/lib/router/index.js:284:7
    at Function.process_params (/home/mako/Documents/Twilio-Flex/plugin-sickandtired/node_modules/express/lib/router/index.js:335:12)
    at next (/home/mako/Documents/Twilio-Flex/plugin-sickandtired/node_modules/express/lib/router/index.js:275:10)
    at launchEditorMiddleware (/home/mako/Documents/Twilio-Flex/plugin-sickandtired/node_modules/react-dev-utils/errorOverlayMiddleware.js:20:7)
    at Layer.handle [as handle_request] (/home/mako/Documents/Twilio-Flex/plugin-sickandtired/node_modules/express/lib/router/layer.js:95:5)
    at trim_prefix (/home/mako/Documents/Twilio-Flex/plugin-sickandtired/node_modules/express/lib/router/index.js:317:13)
    at /home/mako/Documents/Twilio-Flex/plugin-sickandtired/node_modules/express/lib/router/index.js:284:7
    at Function.process_params (/home/mako/Documents/Twilio-Flex/plugin-sickandtired/node_modules/express/lib/router/index.js:335:12)
    at next (/home/mako/Documents/Twilio-Flex/plugin-sickandtired/node_modules/express/lib/router/index.js:275:10)
    at handleWebpackInternalMiddleware (/home/mako/Documents/Twilio-Flex/plugin-sickandtired/node_modules/react-dev-utils/evalSourceMapMiddleware.js:42:7)
    at Layer.handle [as handle_request] (/home/mako/Documents/Twilio-Flex/plugin-sickandtired/node_modules/express/lib/router/layer.js:95:5)

I have tried several different VMs and OSs, but get this error every time I go through the standard setup from Flex.. (i.e.

  npm init flex-plugin plugin-name
  cd plugin-name
  npm install
  npm start

I'm currently testing on a system with node v13.8.0 and npm 6.13.6

[BUG] - Running plugin test script executes jest in watch mode

Description

Running npm 'test' script executes jest in watch mode which prevents running in a CI/CD environment. Possible workarounds are:

  • define CI environment variable (true)
  • edit test script to include --watchAll=false

Versions

package version
create-flex-plugin 3.3.6
flex-plugin ^3.0.0
craco-config-flex-plugin ^3.3.4
node 10.17.0
npm 6.13.4

Steps to Reproduce

npm run test

Expected Behavior

Tests for plugin are run, but jest is not executed in watch mode

Screenshots

If applicable, add screenshots to help explain your problem.
image

Missing UI configuration docs

The UI configuration docs don't clearly explain how to config the UI in the v1.0.0 plugin-based architecture.

Now that the code is hosted on twilio.io - I'm guessing I have to create and upload a plugin to assets in order to change the default configuration.

For example:

  • do I need to create a plugin in order to set appConfig. componentProps.AgentDesktopView.showPanel2 = false;?
  • is appConfig supported in 1.0.0 OR do I have to run flex.AgentDesktopView.defaultProps.showPanel2 = false; inside of the init(flex, manager) method of the plugin?

Flex plugin builder error during npm start

Hi,

I am following this documentation and attempting to setup the plugin builder. I am using Windows 10.

I have run the following commands, in sequence, as per specified by the documentation:

npm init flex-plugin plugin-name --install

Getting the following error:

**PS C:\Users\MesutCerci\plugin-dynamicsCRMinFlex> npm start

[email protected] prestart C:\Users\MesutCerci\plugin-dynamicsCRMinFlex
flex-check-start

'flex-check-start' is not recognized as an internal or external command,
operable program or batch file.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] prestart: flex-check-start
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] prestart script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?

npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\Admin\AppData\Roaming\npm-cache_logs\2019-01-07T10_04_38_953Z-debug.log**

[FEATURE REQUEST] - Allow deployment to additional serverless services

Feature Request

Provide ability for flex-plugin-scripts to support providing a service sid for deployment to allow deployments to non-default serverless service.

Description of Solution

Currently the deploy command looks for the default serverless service and uses that for runtime deployment when deploying a plugin.

Additional Context

const serviceSid = (await configurationClient.getServiceSids())[0];
const service = serviceSid
? await serverlessClient.get(serviceSid)
: await serverlessClient.getDefault();

[FEATURE REQUEST] Remove CRM container

Feature Request

My client wants to build all of the typical CRM fields as custom components directly in the twilio-flex-plugin. As such, I'm trying to place a bunch of components in AgentDesktopView.Panel2, but there doesn't seem to be a way to remove the CRMContainer.

Description of Solution

A way, or an example in the documentation, on how to remove the CRMContainer when it's not needed.

HOC possible?

Is it possible to wrap Components in higher order components, like so:

SamplePlugin.js

//[...]

flex.MessageBubble.Content.replace(<MediaMessageBubble key="bubble" flex={flex} />);

//[...]

components/MediaMessageBubble.js

//[...]

render() {
    const { flex, message } = this.props;
    
    if (message.source.type === 'text') {
      return <flex.MessageBubble {...this.props} />;
    }

    return <div>Custom</div>;
   
  }

//[...]

This does not work, since it will go into an infinite loop (flex.MessageBubble was replaced with MediaMessageBubble).. Is there any way to access the original (flex.MessageBubble) component after replacing it with my custom component?

[BUG] `CI=1 npm t` does not exit with `1` when tests fail.

Description

CI=1 npm t does not exit with 1 when tests fail. This way the CI doesnt detect the error and does not stop the deployment.

Versions

package version
create-flex-plugin 3.3.1
flex-plugin 3.0.0
craco-config-flex-plugin 3.0.4
node 11.15.0
npm 6.7.0

Expected Behavior

CI=1 npm t does exit with 1 whenever tests fail

[BUG] flex-plugin-scripts start overwrites process.env.PORT

Description

Supplying the environment variable PORT is not honored when calling start:

PORT=4444 npm start

Versions

package version
flex-plugin-scripts 3.4.1

Steps to Reproduce

  1. Run PORT=3344 npm start in a flex plugin
  2. Observe plugin is started on default port 3000

Expected Behavior

The environment variable PORT should override any defaults found in the start script.

Additional Context

const port = await findPorts();
process.env.PORT = port.toString();

export const findPorts = async (startPort: number = 3000): Promise<number> => {
try {
await Promise.all([_findPort(startPort), _findPort(startPort + 1)]);
return startPort;
} catch (e) {
return await findPorts(startPort + 1);
}
};

With no way to supply a value the default port 3000 will be used.

There are no set of tests for server.ts. We should probably look at supplying process.env.PORT into findPorts to enable overrides.

Npm error when trying to init new module

Getting this error: require(...).default is not a function where create-flex-plugin is trying to bring in src/cli.js.

Both node v10 and v8, npm v6.4 and v6.1 respectively.

Here's the full output:

$ npm init flex-plugin my-flex-plugin
npx: installed 251 in 35.419s
/path/to/.npm/_npx/55145/lib/node_modules/create-flex-plugin/bin/create-flex-plugin:7
  .default()
          ^

TypeError: require(...).default is not a function
    at Object.<anonymous> (/path/to/.npm/_npx/55145/lib/node_modules/create-flex-plugin/bin/create-flex-plugin:7:11)
    at Module._compile (internal/modules/cjs/loader.js:689:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Function.Module._load (internal/modules/cjs/loader.js:530:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:282:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:743:3)

npm start requires Admin privileges

As raised in #7, currently the symlinking process of placing index.html into the public/ folder requires Admin privileges on Windows.

This is not ideal. This file should not be modified and ideally be connected to the flex-plugin dependency. Since the current build script is based on react-scripts which enforces the presence of public/index.html, we need to have it present. An alternative solution is to force copy the file in on every npm start.

[BUG]

Description

A clear and concise description of what the bug is.

Versions

package version
create-flex-plugin 3.2.0 (Global)
flex-plugin 3.0.0.
craco-config-flex-plugin 3.3.4
node 10.15.0
npm 6.4.1

Steps to Reproduce

Please provide the steps to reproduce this bug:
Delete node_modules folder then

  1. npm install
  2. npm start

Expected Behavior

The app fails to build because of webpack version mismatch among dependencies. This used to work earlier before deleting node_modules folder and re-installing dependencies.

Screenshots

image

Additional Context

There are 2 different versions of webpack. 4.41.0(craco-config-flex-plugin) and 4.41.2(react-scripts).

image

Please upgrade craco-config-flex-plugin dependency to use 4.41.2. As it is blocking the entire development process.

[BUG] flex-plugin check-start script fails after ncu -u

Description

A clear and concise description of what the bug is.

Recently ran ncu -u in my existing flex plugin project and afterwards got this error:

npm install

> [email protected] postinstall /Users/jamesscaggs/dealerstack-flex/plugin-facebook-messages
> npm run bootstrap


> [email protected] bootstrap /Users/jamesscaggs/dealerstack-flex/plugin-facebook-messages
> flex-plugin check-start


There might be a problem with your project dependency tree.

The @twilio/flex-ui requires the following package:

         "react": "16.5.2"

However, a different version of this package was detected: 16.13.1.
Do not try to install this manually; flex-plugin-scripts manages that for you.
Managing this package yourself is known to cause issues in production environments.

Please follow these steps to possibly fix this issue:

         1. Delete your node_modules directory
         2. Delete package-lock.json and/or yarn.lock
         3. Remove react from your package.json file
         4. Run npm install or yarn install again

If you like to skip this and proceed anyway, use SKIP_PREFLIGHT_CHECK=true environment variable.
This will disable checks and allow you to run your application.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] bootstrap: `flex-plugin check-start`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] bootstrap script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/jamesscaggs/.npm/_logs/2020-05-13T11_46_45_121Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] postinstall: `npm run bootstrap`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/jamesscaggs/.npm/_logs/2020-05-13T11_46_45_203Z-debug.log

I followed steps 1-4 above and ran npm install again and receive the same error.

Versions

package version
create-flex-plugin 3.11.0
flex-plugin ^3.5.0
craco-config-flex-plugin ^3.10.1
node 12.14.0
npm 6.14.5

Steps to Reproduce

Please provide the steps to reproduce this bug:

  1. create new flex project using my environment/versions and run ncu -u to update
  2. Update package.json to match mine
  3. Delete node_modules folder
  4. npm install
  5. npm run start

Expected Behavior

Expected to update flex plugin in my project and be able to start without skipping pre-check flight

Screenshots

If applicable, add screenshots to help explain your problem.

Additional Context

Add any other context about the problem here.

Full npm log

0 info it worked if it ends with ok
1 verbose cli [
1 verbose cli   '/Users/jamesscaggs/.nvm/versions/node/v12.14.0/bin/node',
1 verbose cli   '/Users/jamesscaggs/.nvm/versions/node/v12.14.0/bin/npm',
1 verbose cli   'install'
1 verbose cli ]
2 info using [email protected]
3 info using [email protected]
4 verbose npm-session 2f71d7f5c289b120
5 silly install runPreinstallTopLevelLifecycles
6 silly preinstall [email protected]
7 info lifecycle [email protected]~preinstall: [email protected]
8 silly install loadCurrentTree
9 silly install readLocalPackageData
10 timing stage:loadCurrentTree Completed in 10902ms
11 silly install loadIdealTree
12 silly install cloneCurrentTreeToIdealTree
13 timing stage:loadIdealTree:cloneCurrentTree Completed in 23ms
14 silly install loadShrinkwrap
15 timing stage:loadIdealTree:loadShrinkwrap Completed in 651ms
16 silly install loadAllDepsIntoIdealTree
17 timing stage:loadIdealTree:loadAllDepsIntoIdealTree Completed in 1757ms
18 timing stage:loadIdealTree Completed in 3019ms
19 silly currentTree [email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├─┬ @babel/[email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ @babel/[email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├─┬ @babel/[email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├─┬ @babel/[email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├─┬ @babel/[email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├─┬ @babel/[email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── @babel/[email protected]
19 silly currentTree ├── @cnakazawa/[email protected]
19 silly currentTree ├── @craco/[email protected]
19 silly currentTree ├── @csstools/[email protected]
19 silly currentTree ├── @csstools/[email protected]
19 silly currentTree ├─┬ @emotion/[email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── @emotion/[email protected]
19 silly currentTree ├── @emotion/[email protected]
19 silly currentTree ├── @emotion/[email protected]
19 silly currentTree ├── @emotion/[email protected]
19 silly currentTree ├── @emotion/[email protected]
19 silly currentTree ├── @emotion/[email protected]
19 silly currentTree ├── @emotion/[email protected]
19 silly currentTree ├─┬ @gooddata/[email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── @gooddata/[email protected]
19 silly currentTree ├── @hapi/[email protected]
19 silly currentTree ├── @hapi/[email protected]
19 silly currentTree ├── @hapi/[email protected]
19 silly currentTree ├── @hapi/[email protected]
19 silly currentTree ├── @hapi/[email protected]
19 silly currentTree ├── @jest/[email protected]
19 silly currentTree ├─┬ @jest/[email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── @jest/[email protected]
19 silly currentTree ├── @jest/[email protected]
19 silly currentTree ├─┬ @jest/[email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ @jest/[email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── @jest/[email protected]
19 silly currentTree ├── @jest/[email protected]
19 silly currentTree ├─┬ @jest/[email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── @jest/[email protected]
19 silly currentTree ├── @k88/[email protected]
19 silly currentTree ├── @material-ui/[email protected]
19 silly currentTree ├─┬ @material-ui/[email protected]
19 silly currentTree │ ├── @babel/[email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├─┬ [email protected]
19 silly currentTree │ │ └── @babel/[email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── @material-ui/[email protected]
19 silly currentTree ├── @material-ui/[email protected]
19 silly currentTree ├── @material-ui/[email protected]
19 silly currentTree ├── @mrmlnc/[email protected]
19 silly currentTree ├── @nodelib/[email protected]
19 silly currentTree ├── @sindresorhus/[email protected]
19 silly currentTree ├── @svgr/[email protected]
19 silly currentTree ├── @svgr/[email protected]
19 silly currentTree ├── @svgr/[email protected]
19 silly currentTree ├── @svgr/[email protected]
19 silly currentTree ├── @svgr/[email protected]
19 silly currentTree ├── @svgr/[email protected]
19 silly currentTree ├── @svgr/[email protected]
19 silly currentTree ├── @svgr/[email protected]
19 silly currentTree ├── @svgr/[email protected]
19 silly currentTree ├── @svgr/[email protected]
19 silly currentTree ├── @svgr/[email protected]
19 silly currentTree ├── @svgr/[email protected]
19 silly currentTree ├── @svgr/[email protected]
19 silly currentTree ├── @svgr/[email protected]
19 silly currentTree ├── @szmarczak/[email protected]
19 silly currentTree ├── @twilio/[email protected]
19 silly currentTree ├── @twilio/[email protected]
19 silly currentTree ├── @twilio/[email protected]
19 silly currentTree ├─┬ @twilio/[email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ @twilio/[email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── @twilio/[email protected]
19 silly currentTree ├── @types/[email protected]
19 silly currentTree ├── @types/[email protected]
19 silly currentTree ├── @types/[email protected]
19 silly currentTree ├── @types/[email protected]
19 silly currentTree ├── @types/[email protected]
19 silly currentTree ├── @types/[email protected]
19 silly currentTree ├── @types/[email protected]
19 silly currentTree ├── @types/[email protected]
19 silly currentTree ├── @types/[email protected]
19 silly currentTree ├── @types/[email protected]
19 silly currentTree ├── @types/[email protected]
19 silly currentTree ├── @types/[email protected]
19 silly currentTree ├── @types/[email protected]
19 silly currentTree ├── @types/[email protected]
19 silly currentTree ├── @types/[email protected]
19 silly currentTree ├── @types/[email protected]
19 silly currentTree ├── @types/[email protected]
19 silly currentTree ├── @types/[email protected]
19 silly currentTree ├── @types/[email protected]
19 silly currentTree ├── @types/[email protected]
19 silly currentTree ├── @types/[email protected]
19 silly currentTree ├── @types/[email protected]
19 silly currentTree ├── @types/[email protected]
19 silly currentTree ├── @types/[email protected]
19 silly currentTree ├── @types/[email protected]
19 silly currentTree ├── @typescript-eslint/[email protected]
19 silly currentTree ├─┬ @typescript-eslint/[email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── @typescript-eslint/[email protected]
19 silly currentTree ├─┬ @typescript-eslint/[email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── @webassemblyjs/[email protected]
19 silly currentTree ├── @webassemblyjs/[email protected]
19 silly currentTree ├── @webassemblyjs/[email protected]
19 silly currentTree ├── @webassemblyjs/[email protected]
19 silly currentTree ├── @webassemblyjs/[email protected]
19 silly currentTree ├── @webassemblyjs/[email protected]
19 silly currentTree ├── @webassemblyjs/[email protected]
19 silly currentTree ├── @webassemblyjs/[email protected]
19 silly currentTree ├── @webassemblyjs/[email protected]
19 silly currentTree ├── @webassemblyjs/[email protected]
19 silly currentTree ├── @webassemblyjs/[email protected]
19 silly currentTree ├── @webassemblyjs/[email protected]
19 silly currentTree ├── @webassemblyjs/[email protected]
19 silly currentTree ├── @webassemblyjs/[email protected]
19 silly currentTree ├── @webassemblyjs/[email protected]
19 silly currentTree ├── @webassemblyjs/[email protected]
19 silly currentTree ├── @webassemblyjs/[email protected]
19 silly currentTree ├── @webassemblyjs/[email protected]
19 silly currentTree ├── @xtuc/[email protected]
19 silly currentTree ├── @xtuc/[email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── @babel/[email protected]
19 silly currentTree │ ├── @babel/[email protected]
19 silly currentTree │ ├── @babel/[email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├─┬ [email protected]
19 silly currentTree │ │ └── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├─┬ [email protected]
19 silly currentTree │ │ └── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├─┬ [email protected]
19 silly currentTree │ │ └── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├─┬ [email protected]
19 silly currentTree │ │ └── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └─┬ [email protected]
19 silly currentTree │   └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├─┬ [email protected]
19 silly currentTree │ │ └── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └─┬ [email protected]
19 silly currentTree │   └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├─┬ [email protected]
19 silly currentTree │ │ └── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └─┬ [email protected]
19 silly currentTree │   ├── [email protected]
19 silly currentTree │   └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├─┬ [email protected]
19 silly currentTree │ │ ├── [email protected]
19 silly currentTree │ │ └── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├─┬ [email protected]
19 silly currentTree │ │ ├── [email protected]
19 silly currentTree │ │ └── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├─┬ [email protected]
19 silly currentTree │ │ ├── [email protected]
19 silly currentTree │ │ └── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├─┬ [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ ├── [email protected]
19 silly currentTree │ └── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree ├── [email protected]
19 silly currentTree └─┬ [email protected]
19 silly currentTree   └── [email protected]
20 silly idealTree [email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├─┬ @babel/[email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ @babel/[email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├─┬ @babel/[email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├─┬ @babel/[email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├─┬ @babel/[email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├─┬ @babel/[email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── @babel/[email protected]
20 silly idealTree ├── @cnakazawa/[email protected]
20 silly idealTree ├── @craco/[email protected]
20 silly idealTree ├── @csstools/[email protected]
20 silly idealTree ├── @csstools/[email protected]
20 silly idealTree ├─┬ @emotion/[email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── @emotion/[email protected]
20 silly idealTree ├── @emotion/[email protected]
20 silly idealTree ├── @emotion/[email protected]
20 silly idealTree ├── @emotion/[email protected]
20 silly idealTree ├── @emotion/[email protected]
20 silly idealTree ├── @emotion/[email protected]
20 silly idealTree ├── @emotion/[email protected]
20 silly idealTree ├─┬ @gooddata/[email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── @gooddata/[email protected]
20 silly idealTree ├── @hapi/[email protected]
20 silly idealTree ├── @hapi/[email protected]
20 silly idealTree ├── @hapi/[email protected]
20 silly idealTree ├── @hapi/[email protected]
20 silly idealTree ├── @hapi/[email protected]
20 silly idealTree ├── @jest/[email protected]
20 silly idealTree ├─┬ @jest/[email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── @jest/[email protected]
20 silly idealTree ├── @jest/[email protected]
20 silly idealTree ├─┬ @jest/[email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ @jest/[email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── @jest/[email protected]
20 silly idealTree ├── @jest/[email protected]
20 silly idealTree ├─┬ @jest/[email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── @jest/[email protected]
20 silly idealTree ├── @k88/[email protected]
20 silly idealTree ├── @material-ui/[email protected]
20 silly idealTree ├─┬ @material-ui/[email protected]
20 silly idealTree │ ├── @babel/[email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├─┬ [email protected]
20 silly idealTree │ │ └── @babel/[email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── @material-ui/[email protected]
20 silly idealTree ├── @material-ui/[email protected]
20 silly idealTree ├── @material-ui/[email protected]
20 silly idealTree ├── @mrmlnc/[email protected]
20 silly idealTree ├── @nodelib/[email protected]
20 silly idealTree ├── @sindresorhus/[email protected]
20 silly idealTree ├── @svgr/[email protected]
20 silly idealTree ├── @svgr/[email protected]
20 silly idealTree ├── @svgr/[email protected]
20 silly idealTree ├── @svgr/[email protected]
20 silly idealTree ├── @svgr/[email protected]
20 silly idealTree ├── @svgr/[email protected]
20 silly idealTree ├── @svgr/[email protected]
20 silly idealTree ├── @svgr/[email protected]
20 silly idealTree ├── @svgr/[email protected]
20 silly idealTree ├── @svgr/[email protected]
20 silly idealTree ├── @svgr/[email protected]
20 silly idealTree ├── @svgr/[email protected]
20 silly idealTree ├── @svgr/[email protected]
20 silly idealTree ├── @svgr/[email protected]
20 silly idealTree ├── @szmarczak/[email protected]
20 silly idealTree ├── @twilio/[email protected]
20 silly idealTree ├── @twilio/[email protected]
20 silly idealTree ├── @twilio/[email protected]
20 silly idealTree ├─┬ @twilio/[email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ @twilio/[email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── @twilio/[email protected]
20 silly idealTree ├── @types/[email protected]
20 silly idealTree ├── @types/[email protected]
20 silly idealTree ├── @types/[email protected]
20 silly idealTree ├── @types/[email protected]
20 silly idealTree ├── @types/[email protected]
20 silly idealTree ├── @types/[email protected]
20 silly idealTree ├── @types/[email protected]
20 silly idealTree ├── @types/[email protected]
20 silly idealTree ├── @types/[email protected]
20 silly idealTree ├── @types/[email protected]
20 silly idealTree ├── @types/[email protected]
20 silly idealTree ├── @types/[email protected]
20 silly idealTree ├── @types/[email protected]
20 silly idealTree ├── @types/[email protected]
20 silly idealTree ├── @types/[email protected]
20 silly idealTree ├── @types/[email protected]
20 silly idealTree ├── @types/[email protected]
20 silly idealTree ├── @types/[email protected]
20 silly idealTree ├── @types/[email protected]
20 silly idealTree ├── @types/[email protected]
20 silly idealTree ├── @types/[email protected]
20 silly idealTree ├── @types/[email protected]
20 silly idealTree ├── @types/[email protected]
20 silly idealTree ├── @types/[email protected]
20 silly idealTree ├── @types/[email protected]
20 silly idealTree ├── @typescript-eslint/[email protected]
20 silly idealTree ├─┬ @typescript-eslint/[email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── @typescript-eslint/[email protected]
20 silly idealTree ├─┬ @typescript-eslint/[email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── @webassemblyjs/[email protected]
20 silly idealTree ├── @webassemblyjs/[email protected]
20 silly idealTree ├── @webassemblyjs/[email protected]
20 silly idealTree ├── @webassemblyjs/[email protected]
20 silly idealTree ├── @webassemblyjs/[email protected]
20 silly idealTree ├── @webassemblyjs/[email protected]
20 silly idealTree ├── @webassemblyjs/[email protected]
20 silly idealTree ├── @webassemblyjs/[email protected]
20 silly idealTree ├── @webassemblyjs/[email protected]
20 silly idealTree ├── @webassemblyjs/[email protected]
20 silly idealTree ├── @webassemblyjs/[email protected]
20 silly idealTree ├── @webassemblyjs/[email protected]
20 silly idealTree ├── @webassemblyjs/[email protected]
20 silly idealTree ├── @webassemblyjs/[email protected]
20 silly idealTree ├── @webassemblyjs/[email protected]
20 silly idealTree ├── @webassemblyjs/[email protected]
20 silly idealTree ├── @webassemblyjs/[email protected]
20 silly idealTree ├── @webassemblyjs/[email protected]
20 silly idealTree ├── @xtuc/[email protected]
20 silly idealTree ├── @xtuc/[email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── @babel/[email protected]
20 silly idealTree │ ├── @babel/[email protected]
20 silly idealTree │ ├── @babel/[email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├─┬ [email protected]
20 silly idealTree │ │ └── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├─┬ [email protected]
20 silly idealTree │ │ └── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├─┬ [email protected]
20 silly idealTree │ │ └── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├─┬ [email protected]
20 silly idealTree │ │ └── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └─┬ [email protected]
20 silly idealTree │   └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├─┬ [email protected]
20 silly idealTree │ │ └── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └─┬ [email protected]
20 silly idealTree │   └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├─┬ [email protected]
20 silly idealTree │ │ └── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └─┬ [email protected]
20 silly idealTree │   ├── [email protected]
20 silly idealTree │   └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├─┬ [email protected]
20 silly idealTree │ │ ├── [email protected]
20 silly idealTree │ │ └── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├─┬ [email protected]
20 silly idealTree │ │ ├── [email protected]
20 silly idealTree │ │ └── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├─┬ [email protected]
20 silly idealTree │ │ ├── [email protected]
20 silly idealTree │ │ └── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├─┬ [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ ├── [email protected]
20 silly idealTree │ └── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree ├── [email protected]
20 silly idealTree └─┬ [email protected]
20 silly idealTree   └── [email protected]
21 silly install generateActionsToTake
22 timing stage:generateActionsToTake Completed in 120ms
23 silly diffTrees action count 0
24 silly decomposeActions action count 0
25 silly install executeActions
26 silly doSerial global-install 0
27 verbose correctMkdir /Users/jamesscaggs/.npm/_locks correctMkdir not in flight; initializing
28 verbose lock using /Users/jamesscaggs/.npm/_locks/staging-b2cd631f122dd67b.lock for /Users/jamesscaggs/dealerstack-flex/plugin-facebook-messages/node_modules/.staging
29 silly doParallel extract 0
30 silly doReverseSerial unbuild 0
31 silly doSerial remove 0
32 silly doSerial move 0
33 silly doSerial finalize 0
34 silly doParallel refresh-package-json 0
35 silly doParallel preinstall 0
36 silly doSerial build 0
37 silly doSerial global-link 0
38 silly doParallel update-linked 0
39 silly doSerial install 0
40 silly doSerial postinstall 0
41 verbose unlock done using /Users/jamesscaggs/.npm/_locks/staging-b2cd631f122dd67b.lock for /Users/jamesscaggs/dealerstack-flex/plugin-facebook-messages/node_modules/.staging
42 timing stage:executeActions Completed in 67ms
43 timing stage:rollbackFailedOptional Completed in 0ms
44 silly install runPostinstallTopLevelLifecycles
45 silly build [email protected]
46 info linkStuff [email protected]
47 silly linkStuff [email protected] has /Users/jamesscaggs/dealerstack-flex as its parent node_modules
48 silly install [email protected]
49 info lifecycle [email protected]~install: [email protected]
50 silly postinstall [email protected]
51 info lifecycle [email protected]~postinstall: [email protected]
52 verbose lifecycle [email protected]~postinstall: unsafe-perm in lifecycle true
53 verbose lifecycle [email protected]~postinstall: PATH: /Users/jamesscaggs/.nvm/versions/node/v12.14.0/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/Users/jamesscaggs/dealerstack-flex/plugin-facebook-messages/node_modules/.bin:/Users/jamesscaggs/.nvm/versions/node/v12.14.0/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/jamesscaggs/.nvm/versions/node/v12.14.0/bin
54 verbose lifecycle [email protected]~postinstall: CWD: /Users/jamesscaggs/dealerstack-flex/plugin-facebook-messages
55 silly lifecycle [email protected]~postinstall: Args: [ '-c', 'npm run bootstrap' ]
56 timing audit submit Completed in 873ms
57 http fetch POST 200 https://registry.npmjs.org/-/npm/v1/security/audits/quick 873ms
58 timing audit body Completed in 0ms
59 silly lifecycle [email protected]~postinstall: Returned: code: 1  signal: null
60 info lifecycle [email protected]~postinstall: Failed to exec postinstall script
61 verbose stack Error: [email protected] postinstall: `npm run bootstrap`
61 verbose stack Exit status 1
61 verbose stack     at EventEmitter.<anonymous> (/Users/jamesscaggs/.nvm/versions/node/v12.14.0/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:332:16)
61 verbose stack     at EventEmitter.emit (events.js:210:5)
61 verbose stack     at ChildProcess.<anonymous> (/Users/jamesscaggs/.nvm/versions/node/v12.14.0/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
61 verbose stack     at ChildProcess.emit (events.js:210:5)
61 verbose stack     at maybeClose (internal/child_process.js:1021:16)
61 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:283:5)
62 verbose pkgid [email protected]
63 verbose cwd /Users/jamesscaggs/dealerstack-flex/plugin-facebook-messages
64 verbose Darwin 19.4.0
65 verbose argv "/Users/jamesscaggs/.nvm/versions/node/v12.14.0/bin/node" "/Users/jamesscaggs/.nvm/versions/node/v12.14.0/bin/npm" "install"
66 verbose node v12.14.0
67 verbose npm  v6.14.5
68 error code ELIFECYCLE
69 error errno 1
70 error [email protected] postinstall: `npm run bootstrap`
70 error Exit status 1
71 error Failed at the [email protected] postinstall script.
71 error This is probably not a problem with npm. There is likely additional logging output above.
72 verbose exit [ 1, true ]

Package.json

_Note: react is not included since I deleted them per instructions in step 1-4. react_dom was outdated so I removed it with intentions to reinstall latest after updating flex.

{
  "name": "plugin-facebook-messages",
  "version": "0.0.0",
  "scripts": {
    "bootstrap": "flex-plugin check-start",
    "prebuild": "rm -rf build && npm run bootstrap",
    "build": "flex-plugin build",
    "clear": "flex-plugin clear",
    "predeploy": "npm run build",
    "deploy": "flex-plugin deploy",
    "eject": "flex-plugin eject",
    "info": "flex-plugin info",
    "postinstall": "npm run bootstrap",
    "list": "flex-plugin list",
    "remove": "flex-plugin remove",
    "prestart": "npm run bootstrap",
    "start": "flex-plugin start",
    "test": "flex-plugin test --env=jsdom"
  },
  "dependencies": {
    "craco-config-flex-plugin": "^3.10.1",
    "dotenv": "^8.2.0",
    "flex-dev-utils": "^3.10.1",
    "flex-plugin": "^3.5.0",
    "flex-plugin-scripts": "^3.11.0",
    "keytar": "^5.6.0",
    "react-scripts": "3.4.1"
  },
  "devDependencies": {
    "@twilio/flex-ui": "1.19.0",
    "babel-polyfill": "^6.26.0",
    "enzyme": "^3.11.0",
    "enzyme-adapter-react-16": "^1.15.2"
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  }
}

[BUG] This is a test

Description

This is a test

Versions

package version
create-flex-plugin X.Y.Z
flex-plugin X.Y.Z
craco-config-flex-plugin X.Y.Z
node X.Y.Z
npm X.Y.Z

Steps to Reproduce

Please provide the steps to reproduce this bug:

Expected Behavior

A clear and concise description of what you expected to happen.

Screenshots

If applicable, add screenshots to help explain your problem.

Additional Context

Add any other context about the problem here.

[BUG] AppState in TypeScript not consistent with actual state

Description

create-flex-plugin --typescript generates an AppState definition that is not consistent with the actual state.

Default src/states/index.ts:

// Register all component states under the namespace
export interface AppState extends FlexAppState {
  'sample': {
    customTaskList: CustomTaskListState,
    // Other states
  }
}

But the members of FlexAppState (Flex UI's AppState) are registered under the flex namespace so the definition should be something like this:

// Register all component states under the namespace
export interface AppState {
  'sample': {
    customTaskList: CustomTaskListState,
    // Other states
  },
  'flex': FlexAppState,
}

Versions

package version
create-flex-plugin 3.5.0
flex-plugin 3.5.0
craco-config-flex-plugin 3.5.0
node 13.11.0
npm 6.13.7

Steps to Reproduce

  1. Follow the official instructions choosing a typescript project

Expected Behavior

Flex plugins generated by create-flex-plugin can use Flex UI's AppState properties without a type error.

Screenshots

Actual state seen on Redux Devtools:
image

[FEATURE REQUEST] flex-plugin-scripts support for API Key/Token

Feature Request

Currently deploying/building plugins requires ACCOUNT_SID and AUTH_TOKEN. If we decide to issue a API Key/Secret for a CI system we can build/deploy other services within Twilio, but not plugins.

Description of Solution

Make changes to flex-plugin-scripts:

https://github.com/twilio-labs/plugin-flex/blob/a8ccd0332b0f733fe3c38885f31f5157c793f7e7/src/commands/flex/plugins/deploy.js#L25-L26

and allow for providing a API/Key Secret in addition to ACCOUNT_SID

Incorrect Typings Bug within `flex-plugin` Package

Describe the bug
flex-plugin package typings are incorrect for the loadPlugin() method.

To Reproduce
Steps to reproduce the behavior:

  1. create-flex-plugin my-flex-plugin -a AXXX -r xxx.twil.io --adminPlugin --install
  2. cd my-flex-plugin
  3. npm i --save-dev react-scripts-ts typescript
  4. Change build, test, and start npm scripts to all pass in an additional flag --scripts-version react-scripts-ts
  5. Add tsconfig.json, tslint.json, etc
  6. Change src/index.js => src/index.tsx, and src/MyFlexPlugin.js => src/MyFlexPlugin.tsx, etc
  7. Notice after you change the src/index.js => src/index.tsx, the FlexPlugin.loadPlugin(MyFlexPlugin); clause errors out because it is expecting an instance of a FlexPlugin, yet we aren't newing up MyFlexPlugin, therefore it errors out because a Function type is what is really passed in.

Expected behavior
You should change your typings to not expect an instance of a FlexPlugin to be passed into the loadPlugin method. That way, when developing in Typescript, developers don't have to override all of your typings in order to get it to build properly.

Screenshots
screen shot 2018-10-30 at 11 40 35 am

Desktop (please complete the following information):

  • OS: macOS Mojave Version 10.14
  • Browser: Chrome 70.0.3538.77 (Official Build) (64-bit)
  • Version: [email protected]

[FEATURE REQUEST] Upgrade React to latest version

Feature Request

I want to migrate an existing react app over to a plugin but just realized that Flex runs a pre-Hooks version of React. So now, I have to re-write my app using redux and downgrade my version of React to a version from over a year ago.

Description of Solution

It would be great if React could be upgraded to at least ^16.8 so that plugins can use Hooks.

Flex plugin builder error during npm start

Hi,

I am following this documentation and attempting to setup the plugin builder. I am using Windows 10.

I have run the following commands, in sequence, as per specified by the documentation:

npm install -g create-flex-plugin
create-flex-plugin plugin-name
npm install
npm start

I am now getting the following error:

PS C:\Git\plugin-poc> npm start

> [email protected] prestart C:\Git\plugin-poc
> flex-check-start


> [email protected] start C:\Git\plugin-poc
> react-app-rewired start

{ Error: EPERM: operation not permitted, symlink '..\node_modules\flex-plugin\dev_assets\index.html' -> 'C:\Git\plugin-poc\public\index.html'
    at Object.fs.symlinkSync (fs.js:1014:18)
    at Object.<anonymous> (C:\Git\plugin-poc\node_modules\react-app-rewire-flex-plugin\lib\index.js:14:6)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
    at Module.require (module.js:596:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (C:\Git\plugin-poc\node_modules\react-app-rewired\config-overrides.js:5:18)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
    at Module.require (module.js:596:17)
  errno: -4048,
  code: 'EPERM',
  syscall: 'symlink',
  path: '..\\node_modules\\flex-plugin\\dev_assets\\index.html',
  dest: 'C:\\Git\\plugin-poc\\public\\index.html' }
Could not find a required file.
  Name: index.html
  Searched in: C:\Git\plugin-poc\public
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] start: `react-app-rewired start`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Chris\AppData\Roaming\npm-cache\_logs\2018-10-30T13_51_14_840Z-debug.log

According to the documentation:

Once you've set that up, you can run npm start to start up the webpack dev server with a version of Flex.

Any help would be greatly appreciated as this is delaying our start into working with Twilio Flex.

Many thanks.

[BUG] Create a plugin via npx crashes

Description

I'm trying to create a plugin using npx create-flex-plugin <plugin-name>

Versions

Using npx

Steps to Reproduce

Please provide the steps to reproduce this bug:

Run npx create-flex-plugin <plugin-name>

Expected Behavior

Create the plugin folder and files structure

Screenshots

Screenshot 2020-08-06 at 11 14 21

npm ERR! code E404
npm ERR! 404 Not Found - GET https://registry.npmjs.org/@k88%2fpipe-compose - Not found
npm ERR! 404
npm ERR! 404  '@k88/pipe-compose@^2.1.1' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)
npm ERR! 404 It was specified as a dependency of 'flex-dev-utils'
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/manel.escuer/.npm/_logs/2020-08-06T09_14_12_683Z-debug.log
Install for [ 'create-flex-plugin@latest' ] failed with code 1

Dependency '@k88/pipe-compose@^2.1.1' not found on install.

Description

I'm following the instructions at https://www.twilio.com/docs/flex/quickstart/getting-started-plugin and have hit the same error while trying to use the various install commands.

Here is the error from npm.

martincoote$ npm install -g create-flex-plugin
npm ERR! code E404
npm ERR! 404 Not Found - GET https://registry.npmjs.org/@k88%2fpipe-compose - Not found
npm ERR! 404 
npm ERR! 404  '@k88/pipe-compose@^2.1.1' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)
npm ERR! 404 It was specified as a dependency of 'flex-dev-utils'
npm ERR! 404 
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.

Versions

package version
create-flex-plugin 3.13.5
flex-plugin n/a
craco-config-flex-plugin n/a
node 12.17.0
npm 6.14.4

Steps to Reproduce

  1. Run npm install -g create-flex-plugin or any of the other install commands in the above linked documentation
  2. that's it!

Expected Behavior

A successful install

[BUG] Install and build is broken with yarn workspaces

Description

When attempting to configure a flex plugin (generated with the plugin builder) within a flex workspace, I notice I'm getting errors both:

  • when attempting to do the initial install (which can be bypasssed by skiping script running)
  • when attempting to run the build

Versions

For version information please reference this example repo.

Steps to Reproduce

  1. clone down the example repo.
  2. run the install script using the provided docker configuration:
  • docker-compose run --rm yarn install --ignore-optional
  1. observe the flex-plugin script error because it's not correctly determining the correct node_module path:
Error: Cannot find module '/app/plugin-poc/node_modules/@twilio/flex-ui/package.json'
Require stack:
- /app/node_modules/flex-plugin-scripts/dist/scripts/check-start.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:1029:15)
    at Function.Module._load (internal/modules/cjs/loader.js:898:27)
    at Module.require (internal/modules/cjs/loader.js:1089:19)
    at require (internal/modules/cjs/helpers.js:73:18)
    at Object.exports._checkExternalDepsVersions (/app/node_modules/flex-plugin-scripts/dist/scripts/check-start.js:105:21)
    at Object.<anonymous> (/app/node_modules/flex-plugin-scripts/dist/scripts/check-start.js:185:17)
    at step (/app/node_modules/flex-plugin-scripts/dist/scripts/check-start.js:32:23)
    at Object.next (/app/node_modules/flex-plugin-scripts/dist/scripts/check-start.js:13:53)
    at /app/node_modules/flex-plugin-scripts/dist/scripts/check-start.js:7:71
    at new Promise (<anonymous>) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/app/node_modules/flex-plugin-scripts/dist/scripts/check-start.js'
  ]

The initial error can by bypassed by using the --ignore-scripts flag, but a similar error is then given when attempting to run the build:

  • docker-compose run --rm yarn workspace plugin-poc build

Expected Behavior

both install and build complete without errors.

Additional Context

I noticed flex-plugin-scripts and react-scripts are initially set as normal dependencies in the generated package.json file from the plugin builder. These need to be moved to devDependencies.

I noticed @twilio/flex-ui is set as a DevDependency in the generated package.json file. This should be set as a normal dependency.

Both of these changes have been made in the example project linked above.

[FEATURE REQUEST] Serving Multiple Plugins Locally

Feature Request

Our customers often split out functionality across multiple plugins within the same monorepo. It would be cool if flex-plugin-builder would serve multiple plugins within a single root directory.

Description of Solution

  • Stopgap: A document covering how to use craco to override the default webpack config to serve multiple plugins out of the same directory.
  • Solution: Native support within flex-plugin for multiple plugins within a single monorepo

plugin-demo: Authentication fails (forbidden)

Upon starting the plugin demo, the flex instance stays stuck in the loading screen. Opening the console, we can see this request: https://preview.twilio.com/iam/Accounts/{accountSID}/authenticate with this response:

{
    "code": 70251, 
    "message": "no valid certificate for identity realm JB338fa734802924fff04b1bfa32ff64c0", 
    "more_info": "https://www.twilio.com/docs/errors/70251", 
    "status": 403
}

I'm not sure if I miss something on my side or if there's something missing in the documentation.

Do I need to set up SSO to get it working locally? Or is it just a certificate to generate via one of Twilio's admin page?

Cannot Access Local Flex Instance After Logging In

I just started developing with Flex and the flex-plugin-builder, so I'm not too familiar with terminology. Basically, though, I cannot access the local instance of flex after authenticating (with SSO or Twilio).

Steps to repeat:

  1. Create a plugin with flex-plugin-builder plugin-custom-name
  2. When prompted, enter the Account SID.
  3. When prompted, enter Y for including the admin panel.
  4. Run npm install
  5. Run npm start

I can guarantee the Account SID is valid because I did not add SSO until logging in through Twilio failed. Before adding SSO, it would say that SSO was not configured for the account. After adding SSO, it automatically redirects to Okta and logs me in.

After successfully (?) logging in, I land on localhost:8080 and see the following error message:

This page isn’t working
If the problem continues, contact the site owner.
HTTP ERROR 400

As far as I can tell, I've done everything on the documentation page. I am using Node 10.15 and the version of npm installed by default with that version of Node.

create-flex-plugin: Basic flow not working

When creating a new plugin, the basic flow does not work. Anything I write and press "enter" just disappears when asked for the Twilio Flex Account SID.

create-flex-plugin plugin-demo
? Twilio Flex Account SID

Although, specifying directly the parameters while running the command works with --accountSid, -a and
--runtimeUrl, -r.

Tested from Windows 10 command line prompt and Windows PowerShell.

Local Plugin Development

Can I test my plugins development locally without the need to deploy it on cloud using flex-plugin deploy?
I am currently developing and testing plugins locally using flex-plugin start, but if I want to test it locally (without to send to cloud) running this project? Is it possible?

In parallel to that, would I be able to deploy the plugins to my cloud, as is done with this project?

[BUG] Deleting default service stops plugins being uploaded, is not recoverable

Description

I've deployed a number of Flex plugins and serverless functions whilst experimenting, and wanted to cleanup, so I deleted all of the services, expecting redeploying the plugins I wanted to recreate them as needed.

However if you delete the 'default' service after having used it in a Flex instance then you can never recover from this.

Versions

package version
create-flex-plugin 3.13.5
flex-plugin 3.13.2
craco-config-flex-plugin 3.13.5
node 14.7.0
npm 6.14.7

Steps to Reproduce

  1. In a new account, create a flex plugin and run 'npm run deploy'
  2. twilio api:serverless:v1:services:list
  3. twilio api:serverless:v1:services:remove --sid ZS.... # Remove the 'default' service
  4. npm run deploy

Expected Behavior

I expected deploying the plugin again to recreate things as needed.

Additional Context

The bug seems to be here:

https://github.com/twilio/flex-plugin-builder/blob/main/packages/flex-plugin-scripts/src/utils/runtime.ts#L19

if the serviceSid returned by the configuration client has been deleted, then the serverlessClient.get(serviceSid)
promise will reject, which when await'd gets turned into an exception, and this exception causes the default branch to never be executed.

[BUG] flex-plugin fails if the folder name has a space in it

Description

The script "flex-plugin check-start" fails to execute if the folder in which it is running in has a space in the name. Sample output:

flex-plugin check-start

internal/modules/cjs/loader.js:638
throw err;
^

Error: Cannot find module '/Users/lgyeresi/Documents/Flex/Expert'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
at Function.Module._load (internal/modules/cjs/loader.js:562:25)
at Function.Module.runMain (internal/modules/cjs/loader.js:829:12)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] bootstrap: flex-plugin check-start
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] bootstrap script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! /Users/lgyeresi/.npm/_logs/2020-01-21T23_17_47_872Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] postinstall: npm run bootstrap
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! /Users/lgyeresi/.npm/_logs/2020-01-21T23_17_47_923Z-debug.log

Versions

package version
create-flex-plugin 3.15.1-beta.0
flex-plugin 3.7.0-beta.0
craco-config-flex-plugin 3.15.0-beta.0
node v10.16.0
npm 6.13.1

Steps to Reproduce

Please provide the steps to reproduce this bug:

  1. Create a folder that has a space in the name of it
  2. Create a new plugin within this folder using create-flex-plugin

Expected Behavior

Plugin gets created successfully

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.