text: var moment = require('moment');
  var Parser = require('../parser').Parser;
  var ParsedResult = require('../../result').ParsedResult;
  var updateParsedComponent = require('../en/ENWeekdayParser').updateParsedComponent;
  
  var util = require('../../utils/ZH-Hant.js');
  
  var PATTERN = new RegExp(
      '(上|今|下|這|呢)?' +
      '(?:個)?' +
      '(?:星期|禮拜)' +
      '(' + Object.keys(util.WEEKDAY_OFFSET).join('|') + ')'
  );
  
  var PREFIX_GROUP = 1;
  var WEEKDAY_GROUP = 2;
  
  exports.Parser = function ZHHantWeekdayParser() {
  
      Parser.apply(this, arguments);
  
      this.pattern = function() {
          return PATTERN;
      };
  
      this.extract = function(text, ref, match, opt) {
          var index = match.index;
          text = match[0];
          var result = new ParsedResult({
              index: index,
              text: text,
              ref: ref
          });
  
          var dayOfWeek = match[WEEKDAY_GROUP];
          var offset = util.WEEKDAY_OFFSET[dayOfWeek];
          if(offset === undefined) return null;
  
          var modifier = null;
          var prefix = match[PREFIX_GROUP];
  
          if(prefix == '上') {
              modifier = 'last';
          } else if(prefix == '下') {
              modifier = 'next';
          } else if(prefix == '今' || prefix == '這' || prefix == '呢') {
              modifier = 'this';
          }
  
          updateParsedComponent(result, ref, offset, modifier);
          result.tags['ZHHantWeekdayParser'] = true;
          return result;
      };
  };
  