static parse(uri) {
    const parts = /^offline:([a-z]+)\/([^/]+)\/([^/]+)\/([0-9]+)$/.exec(uri);
    if (parts == null) {
      return null;
    }

    const type = parts[1];
    if (type != 'manifest' && type != 'segment') {
      return null;
    }

    const mechanism = parts[2];
    if (!mechanism) {
      return null;
    }

    const cell = parts[3];
    if (!cell) {
      return null;
    }

    const key = Number(parts[4]);
    if (type == null) {
      return null;
    }

    return new shaka.offline.OfflineUri(type, mechanism, cell, key);
  }
@param {string} uri
@return {?shaka.offline.OfflineUri}