anchor.diff:    search.append(input);
   }
   
  -void insertFilterView(drive.DriveApi api, List<File> files, int pageSize) {
  +void insertFilterView(drive.DriveApi api, List<Folder> folders, List<File> files, int pageSize) {
     var filterDiv = querySelector('#filter');
   
     SpanElement divCount = new SpanElement();
  
positive.code:   select.onChange.listen((e) {
      pageSize = int.parse(select.value);
      files.clear();
      loadDriveFiles(api, files, pageSize);
    });
    filterDiv.append(select);
  }
  
  void loadDriveFiles(drive.DriveApi api, List<File> files, int pageSize) {
    // manabo/MtgLogs/2017/2017_3Q
    api.files.list(orderBy: 'createdTime desc', q: "'0B7gIZmKENAt5d0dhODhNbkZNUnM' in parents", pageSize: pageSize).then((
      list) {
      window.console.log('0B7gIZmKENAt5d0dhODhNbkZNUnM');
      files.addAll(toFileList(list.files, false, null));
  
      files.sort((a, b) => b.title.compareTo(a.title));
      removeDocument();
      loadDocuments(files);
  
      // manabo/MtgLogs/2017/2017_2Q
      api.files.list(orderBy: 'createdTime desc', q: "'0B7gIZmKENAt5SERvaW9uVGhPd1k' in parents", pageSize: pageSize)
        .then((list) {
        window.console.log('0B7gIZmKENAt5SERvaW9uVGhPd1k');
        files.addAll(toFileList(list.files, false, null));
  
        files.sort((a, b) => b.title.compareTo(a.title));
        removeDocument();
        loadDocuments(files);
  
        // ICO/MtgLogs
        api.files.list(
          orderBy: 'createdTime desc', q: "'0B4oiy9QA-HVNaEp2ejdWamlHVzg' in parents", pageSize: pageSize).then((list) {
          window.console.log('0B4oiy9QA-HVNaEp2ejdWamlHVzg');
          files.addAll(toFileList(list.files, true, 'images/ethereum-16.png'));
  
          files.sort((a, b) => b.title.compareTo(a.title));
          removeDocument();
          loadDocuments(files);
  
          // Confidentials/ConfidentialMtgLogs/2017/2017_3Q
          api.files.list(orderBy: 'createdTime desc', q: "'0B2t1uXRrSZ4SQXpZd3JoYjFKaTQ' in parents", pageSize: pageSize)
            .then((list) {
            window.console.log('0B2t1uXRrSZ4SQXpZd3JoYjFKaTQ');
            files.addAll(toFileList(list.files, true, 'images/private-16.png'));
  
            files.sort((a, b) => b.title.compareTo(a.title));
            removeDocument();
            loadDocuments(files);
  
            // Confidentials/ConfidentialMtgLogs/2017/2017_2Q
            api.files.list(
              orderBy: 'createdTime desc', q: "'0B7gIZmKENAt5ejZKOFR0b2hQVU0' in parents", pageSize: pageSize)
              .then((list) {
              window.console.log('0B7gIZmKENAt5ejZKOFR0b2hQVU0');
              files.addAll(toFileList(list.files, true, 'images/private-16.png'));
  
              files.sort((a, b) => b.title.compareTo(a.title));
              removeDocument();
              loadDocuments(files);
  
              // エンジニア面談
              api.files.list(
                orderBy: 'createdTime desc', q: "'0B2t1uXRrSZ4SMnA5SWFDWHd0WGs' in parents", pageSize: pageSize).then((
                list) {
                window.console.log('0B2t1uXRrSZ4SMnA5SWFDWHd0WGs');
                files.addAll(toFileList(list.files, true, 'images/private-16.png'));
  
                files.sort((a, b) => b.title.compareTo(a.title));
                removeDocument();
                loadDocuments(files);
              });
            });
          });
        });
      });
    });
  }
  
negative.code:   }
  }
  
  class Folder {
    String hash;
    bool isHidden;
    String imagePath;
    String memo;
  
    Folder(String _hash, bool _isHidden, String _imagePath, String _memo) {
      this.hash = _hash;
      this.isHidden = _isHidden;
      this.imagePath = _imagePath;
      this.memo = _memo;
    }
  }
  
  List<File> toFileList(List<drive.File> _files, bool _isHidden, String _icon) {
    List<File> files = new List<File>();
    for (drive.File driveFile in _files) {
  