????JFIF??x?x????'
| Server IP : 79.136.114.73  /  Your IP : 216.73.216.176 Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/local/lib/node_modules/npm/lib/utils/ | 
| Upload File : | 
const opener = require('opener')
const { URL } = require('url')
// attempt to open URL in web-browser, print address otherwise:
const open = async (npm, url, errMsg) => {
  const browser = npm.config.get('browser')
  function printAlternateMsg () {
    const json = npm.config.get('json')
    const alternateMsg = json
      ? JSON.stringify({
        title: errMsg,
        url,
      }, null, 2)
      : `${errMsg}:\n  ${url}\n`
    npm.output(alternateMsg)
  }
  if (browser === false) {
    printAlternateMsg()
    return
  }
  try {
    if (!/^(https?|file):$/.test(new URL(url).protocol))
      throw new Error()
  } catch (_) {
    throw new Error('Invalid URL: ' + url)
  }
  const command = browser === true ? null : browser
  await new Promise((resolve, reject) => {
    opener(url, { command }, (err) => {
      if (err) {
        if (err.code === 'ENOENT')
          printAlternateMsg()
        else
          return reject(err)
      }
      return resolve()
    })
  })
}
module.exports = open