text:
r"""
This code was generated by
\ / _    _  _|   _  _
 | (_)\/(_)(_|\/| |(/_  v1.0.0
      /       /
"""

from tests import IntegrationTestCase
from tests.holodeck import Request
from twilio.base.exceptions import TwilioException
from twilio.http.response import Response

class PoliciesTestCase(IntegrationTestCase):

    def test_list_request(self):
        self.holodeck.mock(Response(500, ''))

        with self.assertRaises(TwilioException):
            self.client.trusthub.v1.policies.list()

        self.holodeck.assert_has_request(Request(
            'get',
            'https://trusthub.twilio.com/v1/Policies',
        ))

    def test_read_empty_response(self):
        self.holodeck.mock(Response(
            200,
            '''
            {
                "results": [],
                "meta": {
                    "page": 0,
                    "page_size": 50,
                    "first_page_url": "https://trusthub.twilio.com/v1/Policies?PageSize=50&Page=0",
                    "previous_page_url": null,
                    "url": "https://trusthub.twilio.com/v1/Policies?PageSize=50&Page=0",
                    "next_page_url": null,
                    "key": "results"
                }
            }
            '''
        ))

        actual = self.client.trusthub.v1.policies.list()

        self.assertIsNotNone(actual)

    def test_read_full_response(self):
        self.holodeck.mock(Response(
            200,
            '''
            {
                "meta": {
                    "page": 0,
                    "page_size": 50,
                    "first_page_url": "https://trusthub.twilio.com/v1/Policies?PageSize=50&Page=0",
                    "previous_page_url": null,
                    "url": "https://trusthub.twilio.com/v1/Policies?PageSize=50&Page=0",
                    "next_page_url": null,
                    "key": "results"
                },
                "results": [
                    {
                        "url": "https://trusthub.twilio.com/v1/Policies/RNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                        "requirements": {
                            "end_user": [
                                {
                                    "url": "/EndUserTypes/customer_profile_business_information",
                                    "fields": [
                                        "business_type",
                                        "business_registration_number",
                                        "business_name",
                                        "business_registration_identifier",
                                        "business_identity",
                                        "business_industry",
                                        "website_url",
                                        "business_regions_of_operation",
                                        "social_media_profile_urls"
                                    ],
                                    "type": "customer_profile_business_information",
                                    "name": "Business Information",
                                    "requirement_name": "customer_profile_business_information"
                                },
                                {
                                    "url": "/EndUserTypes/authorized_representative_1",
                                    "fields": [
                                        "first_name",
                                        "last_name",
                                        "email",
                                        "phone_number",
                                        "business_title",
                                        "job_position"
                                    ],
                                    "type": "authorized_representative_1",
                                    "name": "Authorized Representative 1",
                                    "requirement_name": "authorized_representative_1"
                                },
                                {
                                    "url": "/EndUserTypes/authorized_representative_2",
                                    "fields": [
                                        "first_name",
                                        "last_name",
                                        "email",
                                        "phone_number",
                                        "business_title",
                                        "job_position"
                                    ],
                                    "type": "authorized_representative_2",
                                    "name": "Authorized Representative 2",
                                    "requirement_name": "authorized_representative_2"
                                }
                            ],
                            "supporting_trust_products": [],
                            "supporting_document": [
                                [
                                    {
                                        "description": "Customer Profile HQ Physical Address",
                                        "type": "document",
                                        "name": "Physical Business Address",
                                        "accepted_documents": [
                                            {
                                                "url": "/SupportingDocumentTypes/customer_profile_address",
                                                "fields": [
                                                    "address_sids"
                                                ],
                                                "type": "customer_profile_address",
                                                "name": "Physical Business Address"
                                            }
                                        ],
                                        "requirement_name": "customer_profile_address"
                                    }
                                ]
                            ],
                            "supporting_customer_profiles": []
                        },
                        "friendly_name": "Primary Customer Profile of type Business",
                        "sid": "RNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
                    }
                ]
            }
            '''
        ))

        actual = self.client.trusthub.v1.policies.list()

        self.assertIsNotNone(actual)

    def test_fetch_request(self):
        self.holodeck.mock(Response(500, ''))

        with self.assertRaises(TwilioException):
            self.client.trusthub.v1.policies("RNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX").fetch()

        self.holodeck.assert_has_request(Request(
            'get',
            'https://trusthub.twilio.com/v1/Policies/RNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
        ))

    def test_fetch_response(self):
        self.holodeck.mock(Response(
            200,
            '''
            {
                "url": "https://trusthub.twilio.com/v1/Policies/RNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                "requirements": {
                    "end_user": [
                        {
                            "url": "/EndUserTypes/customer_profile_business_information",
                            "fields": [
                                "business_type",
                                "business_registration_number",
                                "business_name",
                                "business_registration_identifier",
                                "business_identity",
                                "business_industry",
                                "website_url",
                                "business_regions_of_operation",
                                "social_media_profile_urls"
                            ],
                            "type": "customer_profile_business_information",
                            "name": "Business Information",
                            "requirement_name": "customer_profile_business_information"
                        },
                        {
                            "url": "/EndUserTypes/authorized_representative_1",
                            "fields": [
                                "first_name",
                                "last_name",
                                "email",
                                "phone_number",
                                "business_title",
                                "job_position"
                            ],
                            "type": "authorized_representative_1",
                            "name": "Authorized Representative 1",
                            "requirement_name": "authorized_representative_1"
                        },
                        {
                            "url": "/EndUserTypes/authorized_representative_2",
                            "fields": [
                                "first_name",
                                "last_name",
                                "email",
                                "phone_number",
                                "business_title",
                                "job_position"
                            ],
                            "type": "authorized_representative_2",
                            "name": "Authorized Representative 2",
                            "requirement_name": "authorized_representative_2"
                        }
                    ],
                    "supporting_trust_products": [],
                    "supporting_document": [
                        [
                            {
                                "description": "Customer Profile HQ Physical Address",
                                "type": "document",
                                "name": "Physical Business Address",
                                "accepted_documents": [
                                    {
                                        "url": "/SupportingDocumentTypes/customer_profile_address",
                                        "fields": [
                                            "address_sids"
                                        ],
                                        "type": "customer_profile_address",
                                        "name": "Physical Business Address"
                                    }
                                ],
                                "requirement_name": "customer_profile_address"
                            }
                        ]
                    ],
                    "supporting_customer_profiles": []
                },
                "friendly_name": "Primary Customer Profile of type Business",
                "sid": "RNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
            }
            '''
        ))

        actual = self.client.trusthub.v1.policies("RNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX").fetch()

        self.assertIsNotNone(actual)


text:
var Node = require('./Node');

/**
 * @constructor OperatorNode
 * @extends {Node}
 * An operator with two arguments, like 2+3
 *
 * @param {String} op       Operator name, for example '+'
 * @param {String} fn       Function name, for example 'add'
 * @param {Node[]} params   Parameters
 */
function OperatorNode (op, fn, params) {
  this.op = op;
  this.fn = fn;
  this.params = params;
}

OperatorNode.prototype = new Node();

/**
 * Compile the node to javascript code
 * @param {Object} defs     Object which can be used to define functions
 *                          or constants globally available for the compiled
 *                          expression
 * @return {String} js
 * @private
 */
OperatorNode.prototype._compile = function (defs) {
  if (!(this.fn in defs.math)) {
    throw new Error('Function ' + this.fn + ' missing in provided namespace "math"');
  }

  var params = this.params.map(function (param) {
    return param._compile(defs);
  });
  return 'math.' + this.fn + '(' + params.join(', ') + ')';
};

/**
 * Find all nodes matching given filter
 * @param {Object} filter  See Node.find for a description of the filter settings
 * @returns {Node[]} nodes
 */
OperatorNode.prototype.find = function (filter) {
  var nodes = [];

  // check itself
  if (this.match(filter)) {
    nodes.push(this);
  }

  // search in parameters
  var params = this.params;
  if (params) {
    for (var i = 0, len = params.length; i < len; i++) {
      nodes = nodes.concat(params[i].find(filter));
    }
  }

  return nodes;
};

/**
 * Get string representation
 * @return {String} str
 */
OperatorNode.prototype.toString = function() {
  var params = this.params;

  switch (params.length) {
    case 1:
      if (this.op == '-') {
        // special case: unary minus
        return '-' + params[0].toString();
      }
      else {
        // for example '5!'
        return params[0].toString() + this.op;
      }

    case 2: // for example '2+3'
      var lhs = params[0].toString();
      if (params[0] instanceof OperatorNode) {
        lhs = '(' + lhs + ')';
      }
      var rhs = params[1].toString();
      if (params[1] instanceof OperatorNode) {
        rhs = '(' + rhs + ')';
      }
      return lhs + ' ' + this.op + ' ' + rhs;

    default: // this should occur. format as a function call
      return this.op + '(' + this.params.join(', ') + ')';
  }
};

module.exports = OperatorNode;

redpajama_set_name: RedPajamaGithub


text:
/* TEMPLATE GENERATED TESTCASE FILE
Filename: CWE690_NULL_Deref_From_Return__int_calloc_81a.cpp
Label Definition File: CWE690_NULL_Deref_From_Return.free.label.xml
Template File: source-sinks-81a.tmpl.cpp
*/
/*
 * @description
 * CWE: 690 Unchecked Return Value To NULL Pointer
 * BadSource: calloc Allocate data using calloc()
 * Sinks:
 *    GoodSink: Check to see if the data allocation failed and if not, use data
 *    BadSink : Don't check for NULL and use data
 * Flow Variant: 81 Data flow: data passed in a parameter to an virtual method called via a reference
 *
 * */

#include "std_testcase.h"
#include "CWE690_NULL_Deref_From_Return__int_calloc_81.h"

namespace CWE690_NULL_Deref_From_Return__int_calloc_81
{

#ifndef OMITBAD

void bad()
{
    int * data;
    data = NULL; /* Initialize data */
    /* POTENTIAL FLAW: Allocate memory without checking if the memory allocation function failed */
    data = (int *)calloc(1, sizeof(int));
    const CWE690_NULL_Deref_From_Return__int_calloc_81_base& baseObject = CWE690_NULL_Deref_From_Return__int_calloc_81_bad();
    baseObject.action(data);
}

#endif /* OMITBAD */

#ifndef OMITGOOD

/* goodB2G uses the BadSource with the GoodSink */
static void goodB2G()
{
    int * data;
    data = NULL; /* Initialize data */
    /* POTENTIAL FLAW: Allocate memory without checking if the memory allocation function failed */
    data = (int *)calloc(1, sizeof(int));
    const CWE690_NULL_Deref_From_Return__int_calloc_81_base& baseObject = CWE690_NULL_Deref_From_Return__int_calloc_81_goodB2G();
    baseObject.action(data);
}

void good()
{
    goodB2G();
}

#endif /* OMITGOOD */

} /* close namespace */

/* Below is the main(). It is only used when building this testcase on
   its own for testing or for building a binary to use in testing binary
   analysis tools. It is not used when compiling all the testcases as one
   application, which is how source code analysis tools are tested. */

#ifdef INCLUDEMAIN

using namespace CWE690_NULL_Deref_From_Return__int_calloc_81; /* so that we can use good and bad easily */

int main(int argc, char * argv[])
{
    /* seed randomness */
    srand( (unsigned)time(NULL) );
#ifndef OMITGOOD
    printLine("Calling good()...");
    good();
    printLine("Finished good()");
#endif /* OMITGOOD */
#ifndef OMITBAD
    printLine("Calling bad()...");
    bad();
    printLine("Finished bad()");
#endif /* OMITBAD */
    return 0;
}

#endif


text:
package com.owera.xaps.web.help;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.owera.xaps.web.Page;

import freemarker.template.TemplateException;

/**
 *
This servlets responsibility is to maintain help/tool dialog state and to serve the help contents.

 *
It can be called in four ways:

 *

 *
help?page=[id] (ex. "help?page=search")

 *
help?cmd=getactivedialog

 *
help?cmd=setactivedialog

 *
help?cmd=setactivetool

 *

 *
 * @author Jarl Andre Hubenthal
 *
 */
public class HelpServlet extends HttpServlet {

	/** The Constant serialVersionUID. */
	private static final long serialVersionUID = 1L;

    /**
     * Instantiates a new help servlet.
     *
     * @see HttpServlet#HttpServlet()
     */
    public HelpServlet() {
        super();
    }

	/**
	 * Do get.
	 *
	 * @param request the request
	 * @param response the response
	 * @throws ServletException the servlet exception
	 * @throws IOException Signals that an I/O exception has occurred.
     */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		if(request.getParameter("cmd")!=null && request.getParameter("cmd").equalsIgnoreCase("getactivedialog")){
			String helpDialog = (String) request.getSession().getAttribute("activehelpdialog");
			response.setContentType("text/plain");
			if(helpDialog!=null && helpDialog.trim().length()>0){
				response.getWriter().print(helpDialog);
				response.getWriter().close();
			}
			return;
		}

		if(request.getParameter("cmd")!=null && request.getParameter("cmd").equalsIgnoreCase("setactivedialog")){
			String dialogTitle = (String)request.getParameter("title");
			if(dialogTitle==null || dialogTitle.trim().length()==0)
				request.getSession().removeAttribute("activehelpdialog");
			else
				request.getSession().setAttribute("activehelpdialog", dialogTitle);
			response.setContentType("text/plain");
			response.getWriter().println("ok");
			response.getWriter().close();
			return;
		}else
		if(request.getParameter("cmd")!=null && request.getParameter("cmd").equalsIgnoreCase("setactivetool")){
			String dialogTitle = (String)request.getParameter("title");
			if(dialogTitle==null || dialogTitle.trim().length()==0)
				request.getSession().removeAttribute("activetooldialog");
			else
				request.getSession().setAttribute("activetooldialog", dialogTitle);
			response.setContentType("text/plain");
			response.getWriter().println("ok");
			response.getWriter().close();
			return;
		}
		String page = request.getParameter("page");
		String html = null;
		if(page!=null){
			try {
				Page p = Page.getById(page);
				if(p!=Page.NONE)
					html = HelpPage.getHTMLForPageByClass(p);
				else
					html = HelpPage.getHTMLForPageByResourcePath("pages/"+page+"/"+page);
			} catch (TemplateException e1) {
				throw new ServletException("Could not retrieve help file",e1);
			}
		}else{
			html = "The [page] parameter was not supplied in the url";
		}
		if(html!=null){
			try {
				response.getWriter().println(html);
				response.getWriter().close();
			} catch (Throwable e) {
				throw new ServletException("Could not parse template",e);
			}
		}
	}

	/**
	 * Do post.
	 *
	 * @param request the request
	 * @param response the response
	 * @throws ServletException the servlet exception
	 * @throws IOException Signals that an I/O exception has occurred.
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request,response);
	}

}


text:
'use strict';

const redis = require('redis'),
    config = require('../config/get_config')(),
    client = redis.createClient(config.redisOptions),
    bluebird = require('bluebird');

bluebird.promisifyAll(redis.RedisClient.prototype);
bluebird.promisifyAll(redis.Multi.prototype);

function get(key) {
    return client.getAsync(key);
}

function expire(key, time) {
        return client.expireAsync(key, time);
}

function set(key, val, expireTime) {
    const keyStr = key.toString(),
        valStr = val.toString();
    if(!keyStr || !valStr) {
        console.log('cache set key/val error', key, val);
        throw 'cache set error. key.toString or val.toString returned empty'
    }
    return client.setAsync(keyStr, valStr)
        .then(function (res) {
            if(expireTime) {
                expire(keyStr, expireTime);
            }
            return res;
        });
}

function increment(key) {
    return client.incrAsync(key);
}

module.exports = {
    set: set,

    get: get,

    expire: expire,

    increment: increment
};


text:
class StackatoException(Exception):
    pass

class StackatoAuthenticationException(StackatoException):
    pass


text:
from msrest.serialization import Model

class MeterDetails(Model):
    """The properties of the meter detail.

    Variables are only populated by the server, and will be ignored when
    sending a request.

    :ivar meter_name: The name of the meter, within the given meter category
    :vartype meter_name: str
    :ivar meter_category: The category of the meter, for example, 'Cloud
     services', 'Networking', etc..
    :vartype meter_category: str
    :ivar meter_sub_category: The subcategory of the meter, for example, 'A6
     Cloud services', 'ExpressRoute (IXP)', etc..
    :vartype meter_sub_category: str
    :ivar unit: The unit in which the meter consumption is charged, for
     example, 'Hours', 'GB', etc.
    :vartype unit: str
    :ivar meter_location: The location in which the Azure service is
     available.
    :vartype meter_location: str
    :ivar total_included_quantity: The total included quantity associated with
     the offer.
    :vartype total_included_quantity: decimal.Decimal
    :ivar pretax_standard_rate: The pretax listing price.
    :vartype pretax_standard_rate: decimal.Decimal
    """

    _validation = {
        'meter_name': {'readonly': True},
        'meter_category': {'readonly': True},
        'meter_sub_category': {'readonly': True},
        'unit': {'readonly': True},
        'meter_location': {'readonly': True},
        'total_included_quantity': {'readonly': True},
        'pretax_standard_rate': {'readonly': True},
    }

    _attribute_map = {
        'meter_name': {'key': 'meterName', 'type': 'str'},
        'meter_category': {'key': 'meterCategory', 'type': 'str'},
        'meter_sub_category': {'key': 'meterSubCategory', 'type': 'str'},
        'unit': {'key': 'unit', 'type': 'str'},
        'meter_location': {'key': 'meterLocation', 'type': 'str'},
        'total_included_quantity': {'key': 'totalIncludedQuantity', 'type': 'decimal'},
        'pretax_standard_rate': {'key': 'pretaxStandardRate', 'type': 'decimal'},
    }

    def __init__(self):
        super(MeterDetails, self).__init__()
        self.meter_name = None
        self.meter_category = None
        self.meter_sub_category = None
        self.unit = None
        self.meter_location = None
        self.total_included_quantity = None
        self.pretax_standard_rate = None


text:
package com.fsck.k9.mail.store.imap;

import java.io.IOException;
import java.nio.charset.CharacterCodingException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Deque;
import java.util.EnumSet;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;

import android.net.ConnectivityManager;
import android.util.Log;

import com.fsck.k9.mail.AuthType;
import com.fsck.k9.mail.ConnectionSecurity;
import com.fsck.k9.mail.Flag;
import com.fsck.k9.mail.K9MailLib;
import com.fsck.k9.mail.MessagingException;
import com.fsck.k9.mail.NetworkType;
import com.fsck.k9.mail.PushReceiver;
import com.fsck.k9.mail.Pusher;
import com.fsck.k9.mail.ServerSettings;
import com.fsck.k9.mail.ssl.TrustedSocketFactory;
import com.fsck.k9.mail.store.RemoteStore;
import com.fsck.k9.mail.store.StoreConfig;

import static com.fsck.k9.mail.K9MailLib.LOG_TAG;

/**
 * <pre>
 * TODO Need to start keeping track of UIDVALIDITY
 * TODO Need a default response handler for things like folder updates
 * </pre>
 */
public class ImapStore extends RemoteStore {
    private Set<Flag> permanentFlagsIndex = EnumSet.noneOf(Flag.class);
    private ConnectivityManager connectivityManager;

    private String host;
    private int port;
    private String username;
    private String password;
    private String clientCertificateAlias;
    private ConnectionSecurity connectionSecurity;
    private AuthType authType;
    private String pathPrefix;
    private String combinedPrefix = null;
    private String pathDelimiter = null;
    private final Deque<ImapConnection> connections = new LinkedList<ImapConnection>();
    private FolderNameCodec folderNameCodec;

    /**
     * Cache of ImapFolder objects. ImapFolders are attached to a given folder on the server
     * and as long as their associated connection remains open they are reusable between
     * requests. This cache lets us make sure we always reuse, if possible, for a given
     * folder name.
     */
    private final Map<String, ImapFolder> folderCache = new HashMap<String, ImapFolder>();

    public static ImapStoreSettings decodeUri(String uri) {
        return ImapStoreUriDecoder.decode(uri);
    }

    public static String createUri(ServerSettings server) {
        return ImapStoreUriCreator.create(server);
    }

    public ImapStore(StoreConfig storeConfig, TrustedSocketFactory trustedSocketFactory,
            ConnectivityManager connectivityManager) throws MessagingException {
        super(storeConfig, trustedSocketFactory);

        ImapStoreSettings settings;
        try {
            settings = decodeUri(storeConfig.getStoreUri());
        } catch (IllegalArgumentException e) {
            throw new MessagingException("Error while decoding store URI", e);
        }

        host = settings.host;
        port = settings.port;

        connectionSecurity = settings.connectionSecurity;
        this.connectivityManager = connectivityManager;

        authType = settings.authenticationType;
        username = settings.username;
        password = settings.password;
        clientCertificateAlias = settings.clientCertificateAlias;

        // Make extra sure pathPrefix is null if "auto-detect namespace" is configured
        pathPrefix = (settings.autoDetectNamespace) ? null : settings.pathPrefix;

        folderNameCodec = FolderNameCodec.newInstance();
    }

    @Override
    public ImapFolder getFolder(String name) {
        ImapFolder folder;
        synchronized (folderCache) {
            folder = folderCache.get(name);
            if (folder == null) {
                folder = new ImapFolder(this, name);
                folderCache.put(name, folder);
            }
        }

        return folder;
    }

    String getCombinedPrefix() {
        if (combinedPrefix == null) {
            if (pathPrefix != null) {
                String tmpPrefix = pathPrefix.trim();
                String tmpDelim = (pathDelimiter != null ? pathDelimiter.trim() : "");
                if (tmpPrefix.endsWith(tmpDelim)) {
                    combinedPrefix = tmpPrefix;
                } else if (tmpPrefix.length() > 0) {
                    combinedPrefix = tmpPrefix + tmpDelim;
                } else {
                    combinedPrefix = "";
                }
            } else {
                combinedPrefix = "";
            }
        }

        return combinedPrefix;
    }

    @Override
    public List<ImapFolder> getPersonalNamespaces(boolean forceListAll) throws MessagingException {
        ImapConnection connection = getConnection();

        try {
            Set<String> folderNames = listFolders(connection, false);

            if (forceListAll || !mStoreConfig.subscribedFoldersOnly()) {
                return getFolders(folderNames);
            }

            Set<String> subscribedFolders = listFolders(connection, true);

            folderNames.retainAll(subscribedFolders);

            return getFolders(folderNames);
        } catch (IOException | MessagingException ioe) {
            connection.close();
            throw new MessagingException("Unable to get folder list.", ioe);
        } finally {
            releaseConnection(connection);
        }
    }

    private Set<String> listFolders(ImapConnection connection, boolean subscribedOnly) throws IOException,
            MessagingException {
        String commandResponse = subscribedOnly ? "LSUB" : "LIST";

        List<ImapResponse> responses =
                connection.executeSimpleCommand(String.format("%s \"\" %s", commandResponse,
                        ImapUtility.encodeString(getCombinedPrefix() + "*")));

        List<ListResponse> listResponses = (subscribedOnly) ?
                ListResponse.parseLsub(responses) : ListResponse.parseList(responses);

        Set<String> folderNames = new HashSet<>(listResponses.size());

        for (ListResponse listResponse : listResponses) {
            boolean includeFolder = true;

            String decodedFolderName;
            try {
                decodedFolderName = folderNameCodec.decode(listResponse.getName());
            } catch (CharacterCodingException e) {
                Log.w(LOG_TAG, "Folder name not correctly encoded with the UTF-7 variant " +
                        "as defined by RFC 3501: " + listResponse.getName(), e);

                //TODO: Use the raw name returned by the server for all commands that require
                //      a folder name. Use the decoded name only for showing it to the user.

                // We currently just skip folders with malformed names.
                continue;
            }

            String folder = decodedFolderName;

            if (pathDelimiter == null) {
                pathDelimiter = listResponse.getHierarchyDelimiter();
                combinedPrefix = null;
            }

            if (folder.equalsIgnoreCase(mStoreConfig.getInboxFolderName())) {
                continue;
            } else if (folder.equals(mStoreConfig.getOutboxFolderName())) {
                /*
                 * There is a folder on the server with the same name as our local
                 * outbox. Until we have a good plan to deal with this situation
                 * we simply ignore the folder on the server.
                 */
                continue;
            } else {
                int prefixLength = getCombinedPrefix().length();
                if (prefixLength > 0) {
                    // Strip prefix from the folder name
                    if (folder.length() >= prefixLength) {
                        folder = folder.substring(prefixLength);
                    }
                    if (!decodedFolderName.equalsIgnoreCase(getCombinedPrefix() + folder)) {
                        includeFolder = false;
                    }
                }
            }

            if (listResponse.hasAttribute("\\NoSelect")) {
                includeFolder = false;
            }

            if (includeFolder) {
                folderNames.add(folder);
            }
        }

        folderNames.add(mStoreConfig.getInboxFolderName());

        return folderNames;
    }

    void autoconfigureFolders(final ImapConnection connection) throws IOException, MessagingException {
        if (!connection.hasCapability(Capabilities.SPECIAL_USE)) {
            if (K9MailLib.isDebug()) {
                Log.d(LOG_TAG, "No detected folder auto-configuration methods.");
            }
            return;
        }

        if (K9MailLib.isDebug()) {
            Log.d(LOG_TAG, "Folder auto-configuration: Using RFC6154/SPECIAL-USE.");
        }

        String command = String.format("LIST (SPECIAL-USE) \"\" %s", ImapUtility.encodeString(getCombinedPrefix() + "*"));
        List<ImapResponse> responses = connection.executeSimpleCommand(command);

        List<ListResponse> listResponses = ListResponse.parseList(responses);

        for (ListResponse listResponse : listResponses) {
            String decodedFolderName;
            try {
                decodedFolderName = folderNameCodec.decode(listResponse.getName());
            } catch (CharacterCodingException e) {
                Log.w(LOG_TAG, "Folder name not correctly encoded with the UTF-7 variant " +
                        "as defined by RFC 3501: " + listResponse.getName(), e);
                // We currently just skip folders with malformed names.
                continue;
            }

            if (pathDelimiter == null) {
                pathDelimiter = listResponse.getHierarchyDelimiter();
                combinedPrefix = null;
            }

            if (listResponse.hasAttribute("\\Archive") || listResponse.hasAttribute("\\All")) {
                mStoreConfig.setArchiveFolderName(decodedFolderName);
                if (K9MailLib.isDebug()) {
                    Log.d(LOG_TAG, "Folder auto-configuration detected Archive folder: " + decodedFolderName);
                }
            } else if (listResponse.hasAttribute("\\Drafts")) {
                mStoreConfig.setDraftsFolderName(decodedFolderName);
                if (K9MailLib.isDebug()) {
                    Log.d(LOG_TAG, "Folder auto-configuration detected Drafts folder: " + decodedFolderName);
                }
            } else if (listResponse.hasAttribute("\\Sent")) {
                mStoreConfig.setSentFolderName(decodedFolderName);
                if (K9MailLib.isDebug()) {
                    Log.d(LOG_TAG, "Folder auto-configuration detected Sent folder: " + decodedFolderName);
                }
            } else if (listResponse.hasAttribute("\\Junk")) {
                mStoreConfig.setSpamFolderName(decodedFolderName);
                if (K9MailLib.isDebug()) {
                    Log.d(LOG_TAG, "Folder auto-configuration detected Spam folder: " + decodedFolderName);
                }
            } else if (listResponse.hasAttribute("\\Trash")) {
                mStoreConfig.setTrashFolderName(decodedFolderName);
                if (K9MailLib.isDebug()) {
                    Log.d(LOG_TAG, "Folder auto-configuration detected Trash folder: " + decodedFolderName);
                }
            }
        }
    }

    @Override
    public void checkSettings() throws MessagingException {
        try {
            ImapConnection connection = createImapConnection();

            connection.open();
            autoconfigureFolders(connection);
            connection.close();
        } catch (IOException ioe) {
            throw new MessagingException("Unable to connect", ioe);
        }
    }

    ImapConnection getConnection() throws MessagingException {
        ImapConnection connection;
        while ((connection = pollConnection()) != null) {
            try {
                connection.executeSimpleCommand(Commands.NOOP);
                break;
            } catch (IOException ioe) {
                connection.close();
            }
        }

        if (connection == null) {
            connection = createImapConnection();
        }

        return connection;
    }

    private ImapConnection pollConnection() {
        synchronized (connections) {
            return connections.poll();
        }
    }

    void releaseConnection(ImapConnection connection) {
        if (connection != null && connection.isConnected()) {
            synchronized (connections) {
                connections.offer(connection);
            }
        }
    }

    ImapConnection createImapConnection() {
        return new ImapConnection(new StoreImapSettings(), mTrustedSocketFactory, connectivityManager);
    }

    FolderNameCodec getFolderNameCodec() {
        return folderNameCodec;
    }

    private List<ImapFolder> getFolders(Collection<String> folderNames) {
        List<ImapFolder> folders = new ArrayList<>(folderNames.size());

        for (String folderName : folderNames) {
            ImapFolder imapFolder = getFolder(folderName);
            folders.add(imapFolder);
        }

        return folders;
    }

    @Override
    public boolean isMoveCapable() {
        return true;
    }

    @Override
    public boolean isCopyCapable() {
        return true;
    }

    @Override
    public boolean isPushCapable() {
        return true;
    }

    @Override
    public boolean isExpungeCapable() {
        return true;
    }

    StoreConfig getStoreConfig() {
        return mStoreConfig;
    }

    Set<Flag> getPermanentFlagsIndex() {
        return permanentFlagsIndex;
    }

    @Override
    public Pusher getPusher(PushReceiver receiver) {
        return new ImapPusher(this, receiver);
    }

    private class StoreImapSettings implements ImapSettings {
        @Override
        public String getHost() {
            return host;
        }

        @Override
        public int getPort() {
            return port;
        }

        @Override
        public ConnectionSecurity getConnectionSecurity() {
            return connectionSecurity;
        }

        @Override
        public AuthType getAuthType() {
            return authType;
        }

        @Override
        public String getUsername() {
            return username;
        }

        @Override
        public String getPassword() {
            return password;
        }

        @Override
        public String getClientCertificateAlias() {
            return clientCertificateAlias;
        }

        @Override
        public boolean useCompression(final NetworkType type) {
            return mStoreConfig.useCompression(type);
        }

        @Override
        public String getPathPrefix() {
            return pathPrefix;
        }

        @Override
        public void setPathPrefix(String prefix) {
            pathPrefix = prefix;
        }

        @Override
        public String getPathDelimiter() {
            return pathDelimiter;
        }

        @Override
        public void setPathDelimiter(String delimiter) {
            pathDelimiter = delimiter;
        }

        @Override
        public String getCombinedPrefix() {
            return combinedPrefix;
        }

        @Override
        public void setCombinedPrefix(String prefix) {
            combinedPrefix = prefix;
        }
    }
}


text:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<link href='http://fonts.googleapis.com/css?family=Fira+Sans:400,500italic,700italic' rel='stylesheet' type='text/css'>
	<link rel="stylesheet" href="css/bootstrap.min.css" />
	<link rel="stylesheet" href="css/style.css" type="text/css" media="screen, projection, tv" />
	<link rel="stylesheet" href="css/style-print.css" type="text/css" media="print" />

Juez Virtual Discant

Juez para el curso de colegios, Capítulo Javeriano ACM

	        Skip menu

	                  Inicio

	              Enviar problema

	              Crear usuario

	              Tabla de posiciones

	              Agregar problema

	              Mis envios

Mis Envíos

                        Para conocer sus envíos, por favor ingrese sus credenciales.

                    <form action="mis_archivos.php" method="post" enctype="multipart/form-data">

                              <input type="text" class="form-control" placeholder="Usuario" name="usuario" />

                              <input type="password" class="form-control" placeholder="Contraseña" name="pass" />

                      <input type="submit" name="submit" value="Enviar" class="btn btn-sm btn-default btn-block">
                    </form>

Juez creado por: Daniel Serrano, Lenguaje creado por Alfredo Santamaria y Daniel Serrano


text:
package com.cgomez.xml.bibliographic;

import javax.xml.bind.annotation.XmlRootElement;

import com.cgomez.xml.AbstractBibliographicCitation;

/**
 * Www.
 *
 * @author Carlos Gomez
 * @since dl-java-1.0
 */
@XmlRootElement(name = "www")
public class Www extends AbstractBibliographicCitation {
}


text:
import { IModelResolver } from "../resolvers/imodel-resolver";
import { IValidationRule } from "./ivalidation-rule";
export declare class ISODateValidationRule implements IValidationRule {
    ruleName: string;
    private isoDateRegex;
    validate(modelResolver: IModelResolver, propertyName: string): Promise<boolean>;
}


text:
<?php

namespace Concrete\Tests\Foundation\Runtime\Run;

use Concrete\Core\Application\Application;
use Concrete\Core\Config\FileLoader;
use Concrete\Core\Config\FileSaver;
use Concrete\Core\Config\Repository\Liaison;
use Concrete\Core\Config\Repository\Repository;
use Concrete\Core\Foundation\Runtime\Run\DefaultRunner;
use Concrete\Core\Http\ServerInterface;
use Illuminate\Filesystem\Filesystem;
use Concrete\Tests\TestCase;
use Symfony\Component\HttpFoundation\Response;

class DefaultRunnerTest extends TestCase
{
    public function testReturnsResponseWhenNotInstalled()
    {
        // Setup Response
        $expectedResponse = $this->getMockBuilder(Response::class)
            ->getMock();
        $expectedResponse->expects($this->once())->method('prepare')->willReturnSelf();

        // Create a mock server
        $server = $this->getMockBuilder(ServerInterface::class)->getMock();
        $server->method('handleRequest')->willReturn($expectedResponse);

        // Create a mock application
        $fs = new Filesystem();
        $config = new Liaison(
            new Repository(new FileLoader($fs), new FileSaver($fs), 'test'),
            'default'
        );

        $app = $this->getMockBuilder(Application::class)->getMock();
        $app->method('isInstalled')->willReturn(false);
        $app->method('make')->will(
            $this->returnValueMap([
                ['config', [], $config],
            ])
        );

        // Create the runner to test
        $runner = new DefaultRunner($server);
        $runner->setApplication($app);

        // Test running while not installed
        $this->assertEquals($expectedResponse, $runner->run());
    }
}


text:
layout: text/textblock
section: Who to involve
---
Experts should use the content production template to check off quality or make comments for authors to revise.

These checks may be all the approval you need for the content to be uploaded live to the platform. This will depend on the type of content and the authority of your web team.

Alternatively if the content is high profile, it will need more senior clearance. Send a sign-off brief once checks have been done. The brief should itemise these previous checks for approver visibility.

### [2]Product lead, subject expert
- Checks for accuracy, currency and compliance
- Checks for business objectives and legislative requirements

### [2]Communications lead
- Checks for consistent agency messaging across channels

### [2]Communications writer, web writer, content lead
- Checks for readability and plain English
- Reviews SEO and metadata
- Checks accessibility of content assets and additional formats


text:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class GridPlayer : Pathfinding
{
    public Camera playerCam;
    public Camera minimapCam;

    public GUIStyle bgStyle;

	void Update ()
    {
        FindPath();
        if (Path.Count > 0)
        {
            MoveMethod();
        }
	}

    private void FindPath()
    {

        if (Input.GetButtonDown("Fire1") && Input.mousePosition.x > (Screen.width / 10) * 7F && Input.mousePosition.y < (Screen.height / 10) * 3.5F)
        {
            //Call to the player map
            Ray ray = minimapCam.ScreenPointToRay(new Vector3(Input.mousePosition.x, Input.mousePosition.y, 0));
            RaycastHit hit;

            if (Physics.Raycast(ray, out hit, Mathf.Infinity))
            {
               FindPath(transform.position, hit.point);
            }
        }
        else if (Input.GetButtonDown("Fire1"))
        {
            //Call minimap
            Ray ray = playerCam.ScreenPointToRay(new Vector3(Input.mousePosition.x, Input.mousePosition.y, 0));
            RaycastHit hit;

            if (Physics.Raycast(ray, out hit, Mathf.Infinity))
            {
                FindPath(transform.position, hit.point);
            }
        }
    }

    private void MoveMethod()
    {
        if (Path.Count > 0)
        {
            Vector3 direction = (Path[0] - transform.position).normalized;

            transform.position = Vector3.MoveTowards(transform.position, transform.position + direction, Time.deltaTime * 14F);
            if (transform.position.x < Path[0].x + 0.4F && transform.position.x > Path[0].x - 0.4F && transform.position.z > Path[0].z - 0.4F && transform.position.z < Path[0].z + 0.4F)
            {
                Path.RemoveAt(0);
            }

            RaycastHit[] hit = Physics.RaycastAll(transform.position + (Vector3.up * 20F), Vector3.down, 100);
            float maxY = -Mathf.Infinity;
            foreach (RaycastHit h in hit)
            {
                if (h.transform.tag == "Untagged")
                {
                    if (maxY < h.point.y)
                    {
                        maxY = h.point.y;
                    }
                }
            }
            transform.position = new Vector3(transform.position.x, maxY + 1F, transform.position.z);
        }
    }

    void OnGUI()
    {
        GUI.Label(new Rect(0, 0, Screen.width, Screen.height), "", bgStyle);
    }
}


text:
import socket, xml.dom.minidom

class CommLinkFailure(Exception):
    """Exception for handling communication problems between The Ultimate Strategy and the bot/user"""
    def __init__(self, exception_type, **kwargs):
        self.exception_type = exception_type
        self.kwargs = kwargs

    def __str__(self):
        if self.exception_type == 'send':
            return 'Sent only ' + str(self.kwargs['sent_bytes']) + ' out of ' + str(self.kwargs['total_bytes'])
        elif self.exception_type == 'validation_request':
            return 'Request is not a proper XML\n Message: ' + str(self.kwargs['message'])
        elif self.exception_type == 'validation_reply':
            return 'Response is not a proper XML\n Message: |' + str(self.kwargs['message']) + '|'

class CommLink:
    """Allows quick and painless communication between The Ultimate Strategy and bot/user."""

    def __init__(self, ip, port, persistent=False):
        """ Initializes the CommLink class by creating a default socket and stores information about the host.

        There are two possible connection modes -- persistent or not persistent.
        When persistent mode is chosen, the socket is created and initialized on object creation.
        When persistent mode is off (default), initialization is not done in the constructor
        as the socket is meant to operate in a create - send - receive - close cycle.

        Requires two argumets:
        ip - string with the IP to the host
        port - int storing the port for communication with the host

        """
        self._persistent = persistent
        self._server = (ip, port)

        if self._persistent :
            self._init_socket()
            self._socket.connect(self._server)

    def __del__(self):
        if self._persistent :
            self._dispose_socket()

    def _init_socket(self):
        self._socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        self._socket.settimeout(30)

    def _dispose_socket(self):
        self._socket.shutdown(socket.SHUT_RDWR)
        self._socket.close()

    def _send(self, message):
        """Private method for sending a single request - DOES NOT INITIALIZE NOR CLOSE THE SOCKET

        Requires one argument:
        message - string with the message. Message will be encoded with UTF-8 prior to sending
        Returns the number of sent bytes.

        """
        #TODO: Add validation
        #TODO? What validation?
        data_size = len(bytes(message, 'UTF-8'))

        try :
            document = xml.dom.minidom.parseString(message)
        except xml.parsers.expat.ExpatError :
            raise CommLinkFailure('validation_request', message)

        bytes_sent = self._socket.send(bytes(message, 'UTF-8'))

        if data_size != bytes_sent :
            raise CommLinkFailure('send', pack (data_size=data_size, sent_size=sent_size))

        return bytes_sent

    def _receive(self):
        """Private method for recieving a single heap of data - DOES NOT INITIALIZE NOR CLOSE THE SOCKET

        Returns a document that was decoded from the socket (assuming it was UTF-8 encoded)
        or empy string when nothing is received from the socket (graceful socket close)
        """
        reply = b''
        r = True
        while r and not str(reply, 'UTF-8').endswith('</reply>\n'):
            r = self._socket.recv(2048)
            if r:
                reply += r

        if reply :
            reply = str(reply, 'UTF-8')
            try:
                document = xml.dom.minidom.parseString(reply)
                return document
            except xml.parsers.expat.ExpatError:
                raise CommLinkFailure('validation_reply', reply)
        else:
            return reply

    def exchange_xmls(self, message):
        """Public method responsible for connecting, sending, recieving and closing the socket.
        print(data_size, sent_size)

        Requires one argument:
        message - string with the message. Message will be encoded with UTF-8 prior to sending
        Returns a document that was decoded from the socket (assuming it was UTF-8 encoded).

        """
        if not self._persistent :
            self._init_socket()
            self._socket.connect(self._server)

        self._send(message)
        reply = self._receive()

        if not self._persistent :
            self._dispose_socket()

        return reply

    def stop(self):
        """ Disposes socket """
        if self._persistent :
            self._dispose_socket()

import queue, threading

class AsynchCommLink(CommLink):
    """Allows quick and painless communication between
    The Ultimate Strategy and bot/user in asynchronous manner.
    """

    def __init__(self, ip, port):
        """ Initializes the CommLink class by creating a default
        socket and stores information about the host.

        The socket is initialized at creation and serves for the
        communication till the end of life of this object.

        Requires two argumets:
            ip - string with the IP to the host
            port - int storing the port for communication with the host
        """
        # The approach is different from CommLink so do not
        # use the base class constructor

        # Server information
        self._server = (ip, port)

        # Receiving thread
        self.doReceive = False
        self.receiveThread = False

        # Queue for common replies
        self.msgQueue = queue.Queue()
        # Queue for indication
        self.indQueue = queue.Queue()

        # Initialization of the socket
        self._socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        self._socket.connect(self._server)

        # Starting recieving
        self._start_receiving();

    def __del__(self):
        """ Closes socket and stuff"""
        try:
            stop()
        except:
            pass

    def _receive_loop(self):
        """Receives messages in a loop and puts them on the queue
        """
        while self.doReceive :
            reply = self._receive()

            if reply:
                repel = reply.getElementsByTagName('reply');
                if repel and repel[0].getAttribute("isdummy") :
                    self.indQueue.put(reply);
                else :
                    self.msgQueue.put(reply);
            else:
                self.doReceive = False
                break;

    def _start_receiving(self):
        self.doReceive = True
        self.receiveThread = threading.Thread(target=self._receive_loop);

        self.receiveThread.start()

    def _stop_receiving(self):
        self.doReceive = False
        self._socket.shutdown(socket.SHUT_RD);
        try :
            self.receiveThread.join(2.0)
        finally:
            del self.receiveThread
        self._socket.close()

    def stop(self):
        self._stop_receiving()

    def exchange_xmls(self, message):
        """Public method responsible for synchronous request to the server.

        Requires one argument:
        message - string with the message. Message will be encoded with UTF-8 prior to sending
        Returns a document that was decoded from the socket (assuming it was UTF-8 encoded).
        """
        self._send(message);
        reply = self.msgQueue.get();
        self.msgQueue.task_done();

        return reply


text:
Dashboards
==========

Django-controlcenter supports unlimited number of dashboards. You can access them by passing those slugs in ``settings.CONTROLCENTER_DASHBOARDS`` to url: ``/admin/dashboards/<slugs>/``.

Dashboard options
-----------------

``Dashboard`` class has only two properties:

``title``
    By default the class name is used as title.

``widgets``
    A list of widgets. To group multiple widgets in one single block pass them in a list or wrap with a special ``Group`` class for additional options.

Here is an example:

.. code-block:: python

    from controlcenter import Dashboard, widgets

    class OrdersDashboard(Dashboard):
        title = 'Orders'
        widgets = (
            NewOrders,
            (OrdersInProgress, FinishedOrders),
            Group([FinishedOrdersChart, ThisWeekOrdersChart],
                  # Makes whole block larger
                  width=widgets.LARGE,
                  # Add html attribute class
                  attrs={'class': 'my_fancy_group'})
        )

The grid
--------

Dashboard is a responsive grid that appropriately scales up to 6 columns as the viewport size increases. It uses Masonry.js_ to make a better grid layout.

===================== ===== ===== ===== ===== ===== =====
Viewport/column width   1     2     3     4     5     6
--------------------- ----- ----- ----- ----- ----- -----
initial                              100%
--------------------- -----------------------------------
> 768px                      50%              100%
--------------------- ----------------- -----------------
> 1000px               25%   33%   50%   66%   75%  100%
===================== ===== ===== ===== ===== ===== =====

Most useful sizes are available in ``widgets`` module:

.. code-block:: python

    SMALL = 1
    MEDIUM = 2
    LARGE = 3
    LARGER = 4
    LARGEST = 5
    FULL = 6

Media class
-----------

``Dashboard`` uses Media_ class from django to include static files on page:

.. code-block:: python

    class OrdersDashboard(Dashboard):
        title = 'Orders'
        widgets = (
            NewOrders,
            ...
        )

        class Media:
            css = {
                'all': 'my.css'
            }

.. _group-options:

Group options
-------------

Every element in ``Dashboard.widgets`` is automatically wrapped with a Group instance even if it's a single widget. This is the necessary process to make possible stack widgets together in one single block. You can define Group manually to control it's html attributes or override widget's width and height properties. For example:

.. code-block:: python

    class MyWidget(widgets.ItemList):
        model = Pizza
        values_list = ('name', 'price')
        width = widgets.LARGE

    class MyDashboard(Dashboard):
        widgets = (
            widgets.Group([MyWidget], width=widgets.LARGER, height=300),
        )

``attrs``
    A dictionary of html attributes to set to the group (``class``, ``id``, ``data-foo``, etc.).

``width``
    An integer specifying the width in *columns*. By default the biggest value within the group is chosen.

``height``
    An integer specifying the ``max-height`` of the block in pixels. If necessary a scroll appears.

    .. note::
        By default Group has the height of the biggest widget within group. Switching tabs (widgets) won't change it, because that will make the whole grid float.

``Group`` supports the following methods:

``get_id``
    Returns ``id`` from ``attrs`` or a joined string of widget slugs (names) with ``_and_`` separator.

``get_class``
    Returns ``class`` from ``attrs``.

``get_attrs``
    Returns ``attrs`` without ``id`` and ``class`` keys.

``get_width``
    Returns ``width`` if provided or biggest value in the group.

``get_height``
    Returns ``height`` if provided or biggest value in the group.

.. _Media: https://docs.djangoproject.com/en/dev/ref/contrib/admin/#modeladmin-asset-definitions
.. _Masonry.js: http://masonry.desandro.com/


text:
#include "cpp/htmlparser/validators/supported_media_query.h"

#include "gtest/gtest.h"

namespace htmlparser::css {
namespace {

std::pair<bool, LineCol> V(std::string_view s) {
  return Validate(s);
}

TEST(SupportedMediaQueryParserTest, InValidQuerySingleExpression) {
  auto r = V("all");
  // ------------^  incomplete query.
  EXPECT_FALSE(r.first);

  // Error line column.
  // Error at the end of line.
  EXPECT_EQ(r.second.second, 3);

  r = V("only icreen and (min-width: )");
  // ---------^  misspelled screen.
  EXPECT_FALSE(r.first);
  EXPECT_EQ(r.second.second, 6  /* only i... */);

  r = V("all (min-width: )");
  // -------^   missing and.
  EXPECT_FALSE(r.first);
  EXPECT_EQ(r.second.second, 5  /* missing and */);

  r = V("only screen and (min-width: 200        )");
  // -----------------------------------^  no unit.
  EXPECT_FALSE(r.first);
  EXPECT_EQ(r.second.second, 32 /* missing unit (px, in etc.) suffix */);

  r = V("all screen and (min-width: 200px)");
  // --------^  all screen invalid.
  EXPECT_FALSE(r.first);
  EXPECT_EQ(r.second.second, 5 /* Invalid screen after all */);

  r = V("all and (min: 200px)");
  // ----------------^  min what?.
  EXPECT_FALSE(r.first);
  EXPECT_EQ(r.second.second, 13 /* min is invalid expecting min-width etc. */);

  r = V("all and (min-width: 200px and max-width: 200px)");
  // ------------------------------^  only single expression inside paranthesis.
  EXPECT_FALSE(r.first);
  EXPECT_EQ(r.second.second, 27 /* invalid second 'and' operator */);

  // Multiline.
  r = V(R"(only screen and
  (max-width: 300px) and
  (min-height: 400px) and
  (aspect-ratio: 9/6) and
  (no-such-field: 200px))");  // No such expression.
  EXPECT_FALSE(r.first);
  EXPECT_EQ(r.second.first, 4 /* line */);
  EXPECT_EQ(r.second.second, 4 /* col */);

  // Invalid values.
  // Invalid 2.0f value.
  EXPECT_FALSE(V("all and (max-width: 2.0f)").first);
  // Corrected above.
  EXPECT_TRUE(V("all and (max-width: 200px)").first);

  // No NULL value for pointer.
  EXPECT_FALSE(V("all and (pointer: NULL)").first);
  // Corrected above.
  EXPECT_TRUE(V("all and (pointer: none)").first);

  // Ratios.
  EXPECT_FALSE(V("all and (aspect-ratio: 200px)").first);
  // Corrected above.
  EXPECT_TRUE(V("all and (aspect-ratio: 9/6)").first);

  // Invalid pointer value, allowed values are fine, coarse and none.
  EXPECT_FALSE(V("all and (pointer: beautiful)").first);
  // Corrected above.
  EXPECT_TRUE(V("all and (pointer: coarse)").first);

  // No max-pointer, max-hover, min-pointer, min-hover.
  EXPECT_FALSE(V("all and (max-pointer: none)").first);
  EXPECT_FALSE(V("all and (min-pointer: none)").first);
  EXPECT_FALSE(V("all and (max-hover: none)").first);
  EXPECT_FALSE(V("all and (min-hover: none)").first);

  // Just min/max is invalid.
  EXPECT_FALSE(V("all and (min: 200px)").first);
  EXPECT_FALSE(V("all and (min-: 200px)").first);
  EXPECT_FALSE(V("all and (max: 200px)").first);
  EXPECT_FALSE(V("all and (max-: 200px)").first);

  // Invalid chars anywhere.
  EXPECT_FALSE(V("all and '(min-height: 200px)'").first);
  // ---------------------^   Single quotes not allowed.
  EXPECT_TRUE(V("all and (min-height: 200px)").first);

  EXPECT_FALSE(V("all and \"(min-height: 200px)\"").first);
  // ---------------------^   Double quotes not allowed.
  EXPECT_TRUE(V("all and (min-height: 200px)").first);

  EXPECT_FALSE(V("all and (min height: 200px)").first);
  // -------------------------^ Space instead of hyphen.
  EXPECT_TRUE(V("all and (min-height: 200px)").first);

  // Supported min/max expressions.
  EXPECT_TRUE(V("all and (min-width: 200px)").first);
  EXPECT_TRUE(V("all and (min-height: 200px)").first);
  EXPECT_TRUE(V("all and (min-device-height: 5in)").first);
  EXPECT_TRUE(V("all and (min-device-width: 3in)").first);
  EXPECT_TRUE(V("all and (min-device-aspect-ratio: 3/2)").first);
  EXPECT_TRUE(V("all and (max-width: 200px)").first);
  EXPECT_TRUE(V("all and (max-height: 200px)").first);
  EXPECT_TRUE(V("all and (max-device-height: 5in)").first);
  EXPECT_TRUE(V("all and (max-device-width: 3in)").first);
  EXPECT_TRUE(V("all and (max-device-aspect-ratio: 3/2)").first);

  // All of the above valid expressions without min/max.
  EXPECT_TRUE(V("all and (width: 200px)").first);
  EXPECT_TRUE(V("all and (height: 200px)").first);
  EXPECT_TRUE(V("all and (device-height: 5in)").first);
  EXPECT_TRUE(V("all and (device-width: 3in)").first);
  EXPECT_TRUE(V("all and (device-aspect-ratio: 3/2)").first);
  EXPECT_TRUE(V("all and (width: 200px)").first);
  EXPECT_TRUE(V("all and (height: 200px)").first);
  EXPECT_TRUE(V("all and (device-height: 5in)").first);
  EXPECT_TRUE(V("all and (device-width: 3in)").first);
}

TEST(SupportedMediaQueryParserTest, ValidQuerySingleExpressionPixelUnits) {
  // Width.
  EXPECT_TRUE(V("all and (max-width: 200px)").first);
  EXPECT_TRUE(V("only screen and (max-width: 200px)").first);
  EXPECT_TRUE(V("screen and (max-width: 200px)").first);

  EXPECT_TRUE(V("all and (min-width: 200px)").first);
  EXPECT_TRUE(V("only screen and (min-width: 200px)").first);
  EXPECT_TRUE(V("screen and (min-width: 200px)").first);

  EXPECT_TRUE(V("all and (width: 200px)").first);
  EXPECT_TRUE(V("only screen and (width: 200px)").first);
  EXPECT_TRUE(V("screen and (min-width: 200px)").first);

  // Height.
  EXPECT_TRUE(V("all and (max-height: 200px)").first);
  EXPECT_TRUE(V("only screen and (max-height: 200px)").first);
  EXPECT_TRUE(V("screen and (max-height: 200px)").first);

  EXPECT_TRUE(V("all and (min-height: 200px)").first);
  EXPECT_TRUE(V("only screen and (min-height: 200px)").first);
  EXPECT_TRUE(V("screen and (min-height: 200px)").first);

  EXPECT_TRUE(V("all and (height: 200px)").first);
  EXPECT_TRUE(V("only screen and (height: 200px)").first);
  EXPECT_TRUE(V("screen and (height: 200px)").first);

  // Aspect ratio.
  EXPECT_TRUE(V("all and (max-aspect-ratio: 3/2)").first);
  EXPECT_TRUE(V("only screen and (max-aspect-ratio: 3/2)").first);
  EXPECT_TRUE(V("screen and (max-aspect-ratio: 3/2)").first);

  EXPECT_TRUE(V("all and (min-aspect-ratio: 100/50)").first);
  EXPECT_TRUE(V("only screen and (min-aspect-ratio: 200/50)").first);
  EXPECT_TRUE(V("screen and (min-aspect-ratio: 200/50)").first);

  EXPECT_TRUE(V("all and (aspect-ratio: 200/100)").first);
  EXPECT_TRUE(V("only screen and (aspect-ratio: 200/50)").first);
  EXPECT_TRUE(V("screen and (aspect-ratio: 200/50)").first);

  // Device aspect ratio.
  EXPECT_TRUE(V("all and (max-device-aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("only screen and (max-device-aspect-ratio: 18/4)").first);
  EXPECT_TRUE(V("screen and (max-device-aspect-ratio: 18/4)").first);

  EXPECT_TRUE(V("all and (min-device-aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("only screen and (min-device-aspect-ratio: 100/50)").first);
  EXPECT_TRUE(V("screen and (min-device-aspect-ratio: 100/50)").first);

  EXPECT_TRUE(V("all and (device-aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("only screen and (device-aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("screen and (device-aspect-ratio: 9/6)").first);

  // Device width.
  EXPECT_TRUE(V("all and (max-device-width: 200px)").first);
  EXPECT_TRUE(V("only screen and (max-device-width: 200px)").first);
  EXPECT_TRUE(V("screen and (max-device-width: 200px)").first);

  EXPECT_TRUE(V("all and (min-device-width: 200px)").first);
  EXPECT_TRUE(V("only screen and (min-device-width: 200px)").first);
  EXPECT_TRUE(V("screen and (min-device-width: 200px)").first);

  EXPECT_TRUE(V("all and (device-width: 200px)").first);
  EXPECT_TRUE(V("only screen and (device-width: 200px)").first);
  EXPECT_TRUE(V("screen and (device-width: 200px)").first);

  // Device height.
  EXPECT_TRUE(V("all and (max-device-height: 200px)").first);
  EXPECT_TRUE(V("only screen and (max-device-height: 200px)").first);
  EXPECT_TRUE(V("screen and (max-device-height: 200px)").first);

  EXPECT_TRUE(V("all and (min-device-height: 200px)").first);
  EXPECT_TRUE(V("only screen and (min-device-height: 200px)").first);
  EXPECT_TRUE(V("screen and (min-device-height: 200px)").first);

  EXPECT_TRUE(V("all and (device-height: 200px)").first);
  EXPECT_TRUE(V("only screen and (device-height: 200px)").first);
  EXPECT_TRUE(V("screen and (device-height: 200px)").first);
}

TEST(SupportedMediaQueryParserTest, ValidQuerySingleExpressionInchUnits) {
  // Width.
  EXPECT_TRUE(V("all and (max-width: 200in)").first);
  EXPECT_TRUE(V("only screen and (max-width: 200in)").first);
  EXPECT_TRUE(V("screen and (max-width: 200in)").first);

  EXPECT_TRUE(V("all and (min-width: 200in)").first);
  EXPECT_TRUE(V("only screen and (min-width: 200in)").first);
  EXPECT_TRUE(V("screen and (min-width: 200in)").first);

  EXPECT_TRUE(V("all and (width: 200in)").first);
  EXPECT_TRUE(V("only screen and (width: 200in)").first);
  EXPECT_TRUE(V("screen and (width: 200in)").first);

  // Height.
  EXPECT_TRUE(V("all and (max-height: 200in)").first);
  EXPECT_TRUE(V("only screen and (max-height: 200in)").first);
  EXPECT_TRUE(V("screen and (max-height: 200in)").first);

  EXPECT_TRUE(V("all and (min-height: 200in)").first);
  EXPECT_TRUE(V("only screen and (min-height: 200in)").first);
  EXPECT_TRUE(V("screen and (min-height: 200in)").first);

  EXPECT_TRUE(V("all and (height: 200in)").first);
  EXPECT_TRUE(V("only screen and (height: 200in)").first);
  EXPECT_TRUE(V("screen and (height: 200in)").first);

  // Aspect ratio.
  EXPECT_TRUE(V("all and (max-aspect-ratio: 80/50)").first);
  EXPECT_TRUE(V("only screen and (max-aspect-ratio: 60/30)").first);
  EXPECT_TRUE(V("screen and (max-aspect-ratio: 60/30)").first);

  EXPECT_TRUE(V("all and (min-aspect-ratio: 9/7)").first);
  EXPECT_TRUE(V("only screen and (min-aspect-ratio: 9/7)").first);
  EXPECT_TRUE(V("screen and (min-aspect-ratio: 9/7)").first);

  EXPECT_TRUE(V("all and (aspect-ratio: 9/7)").first);
  EXPECT_TRUE(V("only screen and (aspect-ratio: 9/7)").first);
  EXPECT_TRUE(V("screen and (aspect-ratio: 9/7)").first);

  // Device aspect ratio.
  EXPECT_TRUE(V("all and (max-device-aspect-ratio: 9/7)").first);
  EXPECT_TRUE(V("only screen and (max-device-aspect-ratio: 9/7)").first);
  EXPECT_TRUE(V("screen and (max-device-aspect-ratio: 9/7)").first);

  EXPECT_TRUE(V("all and (min-device-aspect-ratio: 9/7)").first);
  EXPECT_TRUE(V("only screen and (min-device-aspect-ratio: 9/7)").first);
  EXPECT_TRUE(V("screen and (min-device-aspect-ratio: 9/7)").first);

  EXPECT_TRUE(V("all and (device-aspect-ratio: 9/7)").first);
  EXPECT_TRUE(V("only screen and (device-aspect-ratio: 9/7)").first);
  EXPECT_TRUE(V("screen and (device-aspect-ratio: 9/7)").first);

  // Device width.
  EXPECT_TRUE(V("all and (max-device-width: 200in)").first);
  EXPECT_TRUE(V("only screen and (max-device-width: 200in)").first);
  EXPECT_TRUE(V("screen and (max-device-width: 200in)").first);

  EXPECT_TRUE(V("all and (min-device-width: 200in)").first);
  EXPECT_TRUE(V("only screen and (min-device-width: 200in)").first);
  EXPECT_TRUE(V("screen and (min-device-width: 200in)").first);

  EXPECT_TRUE(V("all and (device-width: 200in)").first);
  EXPECT_TRUE(V("only screen and (device-width: 200in)").first);
  EXPECT_TRUE(V("screen and (device-width: 200in)").first);

  // Device height.
  EXPECT_TRUE(V("all and (max-device-height: 200in)").first);
  EXPECT_TRUE(V("only screen and (max-device-height: 200in)").first);
  EXPECT_TRUE(V("screen and (max-device-height: 200in)").first);

  EXPECT_TRUE(V("all and (min-device-height: 200in)").first);
  EXPECT_TRUE(V("only screen and (min-device-height: 200in)").first);
  EXPECT_TRUE(V("screen and (min-device-height: 200in)").first);

  EXPECT_TRUE(V("all and (device-height: 200in)").first);
  EXPECT_TRUE(V("only screen and (device-height: 200in)").first);
  EXPECT_TRUE(V("screen and (device-height: 200in)").first);
}

TEST(SupportedMediaQueryParserTest, ValidQuerySingleExpressionEmUnits) {
  // Width.
  EXPECT_TRUE(V("all and (max-width: 200em)").first);
  EXPECT_TRUE(V("only screen and (max-width: 200em)").first);
  EXPECT_TRUE(V("screen and (max-width: 200em)").first);

  EXPECT_TRUE(V("all and (min-width: 200em)").first);
  EXPECT_TRUE(V("only screen and (min-width: 200em)").first);

  EXPECT_TRUE(V("all and (width: 200em)").first);
  EXPECT_TRUE(V("only screen and (width: 200em)").first);
  EXPECT_TRUE(V("screen and (min-width: 200em)").first);

  // Height.
  EXPECT_TRUE(V("all and (max-height: 200em)").first);
  EXPECT_TRUE(V("only screen and (max-height: 200em)").first);
  EXPECT_TRUE(V("screen and (max-height: 200em)").first);

  EXPECT_TRUE(V("all and (min-height: 200em)").first);
  EXPECT_TRUE(V("only screen and (min-height: 200em)").first);
  EXPECT_TRUE(V("screen and (min-height: 200em)").first);

  EXPECT_TRUE(V("all and (height: 200em)").first);
  EXPECT_TRUE(V("only screen and (height: 200em)").first);
  EXPECT_TRUE(V("screen and (height: 200em)").first);

  // Aspect ratio.
  EXPECT_TRUE(V("all and (max-aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("only screen and (max-aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("screen and (max-aspect-ratio: 9/6)").first);

  EXPECT_TRUE(V("all and (min-aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("only screen and (min-aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("screen and (min-aspect-ratio: 9/6)").first);

  EXPECT_TRUE(V("all and (aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("only screen and (aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("screen and (aspect-ratio: 9/6)").first);

  // Device aspect ratio.
  EXPECT_TRUE(V("all and (max-device-aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("only screen and (max-device-aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("screen and (max-device-aspect-ratio: 9/6)").first);

  EXPECT_TRUE(V("all and (min-device-aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("only screen and (min-device-aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("screen and (min-device-aspect-ratio: 9/6)").first);

  EXPECT_TRUE(V("all and (device-aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("only screen and (device-aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("screen and (device-aspect-ratio: 9/6)").first);

  // Device width.
  EXPECT_TRUE(V("all and (max-device-width: 200em)").first);
  EXPECT_TRUE(V("only screen and (max-device-width: 200em)").first);
  EXPECT_TRUE(V("screen and (max-device-width: 200em)").first);

  EXPECT_TRUE(V("all and (min-device-width: 200em)").first);
  EXPECT_TRUE(V("only screen and (min-device-width: 200em)").first);
  EXPECT_TRUE(V("screen and (min-device-width: 200em)").first);

  EXPECT_TRUE(V("all and (device-width: 200em)").first);
  EXPECT_TRUE(V("only screen and (device-width: 200em)").first);
  EXPECT_TRUE(V("screen and (device-width: 200em)").first);

  // Device height.
  EXPECT_TRUE(V("all and (max-device-height: 200em)").first);
  EXPECT_TRUE(V("only screen and (max-device-height: 200em)").first);
  EXPECT_TRUE(V("screen and (max-device-height: 200em)").first);

  EXPECT_TRUE(V("all and (min-device-height: 200em)").first);
  EXPECT_TRUE(V("only screen and (min-device-height: 200em)").first);
  EXPECT_TRUE(V("screen and (min-device-height: 200em)").first);

  EXPECT_TRUE(V("all and (device-height: 200em)").first);
  EXPECT_TRUE(V("only screen and (device-height: 200em)").first);
  EXPECT_TRUE(V("screen and (device-height: 200em)").first);
}

TEST(SupportedMediaQueryParserTest, ValidQuerySingleExpressionPTUnits) {
  // Width.
  EXPECT_TRUE(V("all and (max-width: 200pt)").first);
  EXPECT_TRUE(V("only screen and (max-width: 200pt)").first);
  EXPECT_TRUE(V("screen and (max-width: 200pt)").first);

  EXPECT_TRUE(V("all and (min-width: 200pt)").first);
  EXPECT_TRUE(V("only screen and (min-width: 200pt)").first);
  EXPECT_TRUE(V("screen and (min-width: 200pt)").first);

  EXPECT_TRUE(V("all and (width: 200pt)").first);
  EXPECT_TRUE(V("only screen and (width: 200pt)").first);
  EXPECT_TRUE(V("screen and (width: 200pt)").first);

  // Height.
  EXPECT_TRUE(V("all and (max-height: 200pt)").first);
  EXPECT_TRUE(V("only screen and (max-height: 200pt)").first);
  EXPECT_TRUE(V("screen and (max-height: 200pt)").first);

  EXPECT_TRUE(V("all and (min-height: 200pt)").first);
  EXPECT_TRUE(V("only screen and (min-height: 200pt)").first);
  EXPECT_TRUE(V("screen and (min-height: 200pt)").first);

  EXPECT_TRUE(V("all and (height: 200pt)").first);
  EXPECT_TRUE(V("only screen and (height: 200pt)").first);
  EXPECT_TRUE(V("screen and (height: 200pt)").first);

  // Aspect ratio.
  EXPECT_TRUE(V("all and (max-aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("only screen and (max-aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("screen and (max-aspect-ratio: 9/6)").first);

  EXPECT_TRUE(V("all and (min-aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("only screen and (min-aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("screen and (min-aspect-ratio: 9/6)").first);

  EXPECT_TRUE(V("all and (aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("only screen and (aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("screen and (aspect-ratio: 9/6)").first);

  // Device aspect ratio.
  EXPECT_TRUE(V("all and (max-device-aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("only screen and (max-device-aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("screen and (max-device-aspect-ratio: 9/6)").first);

  EXPECT_TRUE(V("all and (min-device-aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("only screen and (min-device-aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("screen and (min-device-aspect-ratio: 9/6)").first);

  EXPECT_TRUE(V("all and (device-aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("only screen and (device-aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("screen and (device-aspect-ratio: 9/6)").first);

  // Device width.
  EXPECT_TRUE(V("all and (max-device-width: 200pt)").first);
  EXPECT_TRUE(V("only screen and (max-device-width: 200pt)").first);
  EXPECT_TRUE(V("screen and (max-device-width: 200pt)").first);

  EXPECT_TRUE(V("all and (min-device-width: 200pt)").first);
  EXPECT_TRUE(V("only screen and (min-device-width: 200pt)").first);
  EXPECT_TRUE(V("screen and (min-device-width: 200pt)").first);

  EXPECT_TRUE(V("all and (device-width: 200pt)").first);
  EXPECT_TRUE(V("only screen and (device-width: 200pt)").first);
  EXPECT_TRUE(V("screen and (device-width: 200pt)").first);

  // Device height.
  EXPECT_TRUE(V("all and (max-device-height: 200pt)").first);
  EXPECT_TRUE(V("only screen and (max-device-height: 200pt)").first);
  EXPECT_TRUE(V("screen and (max-device-height: 200pt)").first);

  EXPECT_TRUE(V("all and (min-device-height: 200pt)").first);
  EXPECT_TRUE(V("only screen and (min-device-height: 200pt)").first);
  EXPECT_TRUE(V("screen and (min-device-height: 200pt)").first);

  EXPECT_TRUE(V("all and (device-height: 200pt)").first);
  EXPECT_TRUE(V("only screen and (device-height: 200pt)").first);
  EXPECT_TRUE(V("screen and (device-height: 200pt)").first);
}

TEST(SupportedMediaQueryParserTest, ValidQuerySingleExpressionCMUnits) {
  // Width.
  EXPECT_TRUE(V("all and (max-width: 200cm)").first);
  EXPECT_TRUE(V("only screen and (max-width: 200cm)").first);
  EXPECT_TRUE(V("screen and (max-width: 200cm)").first);

  EXPECT_TRUE(V("all and (min-width: 200cm)").first);
  EXPECT_TRUE(V("only screen and (min-width: 200cm)").first);
  EXPECT_TRUE(V("screen and (min-width: 200cm)").first);

  EXPECT_TRUE(V("all and (width: 200cm)").first);
  EXPECT_TRUE(V("only screen and (width: 200cm)").first);
  EXPECT_TRUE(V("screen and (width: 200cm)").first);

  // Height.
  EXPECT_TRUE(V("all and (max-height: 200cm)").first);
  EXPECT_TRUE(V("only screen and (max-height: 200cm)").first);
  EXPECT_TRUE(V("screen and (max-height: 200cm)").first);

  EXPECT_TRUE(V("all and (min-height: 200cm)").first);
  EXPECT_TRUE(V("only screen and (min-height: 200cm)").first);
  EXPECT_TRUE(V("screen and (min-height: 200cm)").first);

  EXPECT_TRUE(V("all and (height: 200cm)").first);
  EXPECT_TRUE(V("only screen and (height: 200cm)").first);
  EXPECT_TRUE(V("screen and (height: 200cm)").first);

  // Aspect ratio.
  EXPECT_TRUE(V("all and (max-aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("only screen and (max-aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("screen and (max-aspect-ratio: 9/6)").first);

  EXPECT_TRUE(V("all and (min-aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("only screen and (min-aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("screen and (min-aspect-ratio: 9/6)").first);

  EXPECT_TRUE(V("all and (aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("only screen and (aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("screen and (aspect-ratio: 9/6)").first);

  // Device aspect ratio.
  EXPECT_TRUE(V("all and (max-device-aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("only screen and (max-device-aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("screen and (max-device-aspect-ratio: 9/6)").first);

  EXPECT_TRUE(V("all and (min-device-aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("only screen and (min-device-aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("screen and (min-device-aspect-ratio: 9/6)").first);

  EXPECT_TRUE(V("all and (device-aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("only screen and (device-aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("screen and (device-aspect-ratio: 9/6)").first);

  // Device width.
  EXPECT_TRUE(V("all and (max-device-width: 200cm)").first);
  EXPECT_TRUE(V("only screen and (max-device-width: 200cm)").first);
  EXPECT_TRUE(V("screen and (max-device-width: 200cm)").first);

  EXPECT_TRUE(V("all and (min-device-width: 200cm)").first);
  EXPECT_TRUE(V("only screen and (min-device-width: 200cm)").first);
  EXPECT_TRUE(V("screen and (min-device-width: 200cm)").first);

  EXPECT_TRUE(V("all and (device-width: 200cm)").first);
  EXPECT_TRUE(V("only screen and (device-width: 200cm)").first);
  EXPECT_TRUE(V("screen and (device-width: 200cm)").first);

  // Device height.
  EXPECT_TRUE(V("all and (max-device-height: 200cm)").first);
  EXPECT_TRUE(V("only screen and (max-device-height: 200cm)").first);
  EXPECT_TRUE(V("screen and (max-device-height: 200cm)").first);

  EXPECT_TRUE(V("all and (min-device-height: 200cm)").first);
  EXPECT_TRUE(V("only screen and (min-device-height: 200cm)").first);
  EXPECT_TRUE(V("screen and (min-device-height: 200cm)").first);

  EXPECT_TRUE(V("all and (device-height: 200cm)").first);
  EXPECT_TRUE(V("only screen and (device-height: 200cm)").first);
  EXPECT_TRUE(V("screen and (device-height: 200cm)").first);
}

TEST(SupportedMediaQueryParserTest, ValidQueryMultipleExpressions) {
  EXPECT_TRUE(V("all and (device-width: 200px) "
                "and (device-height: 400px) "
                "and (pointer: none) "
                "and (max-device-width: 300px)").first);
  EXPECT_TRUE(V("only screen and (device-width: 200px) "
                "and (device-height: 400px) "
                "and (pointer: coarse) "
                "and (max-device-width: 300px)").first);
  EXPECT_TRUE(V("screen and (device-width: 200px) "
                "and (device-height: 400px) "
                "and (max-device-width: 300px)").first);

  EXPECT_TRUE(V("all and (device-width: 200in) "
                "and (device-height: 400in) "
                "and (pointer:      fine       ) "
                "and (hover: none) "
                "and (max-device-width: 300in)").first);
  EXPECT_TRUE(V("only screen and (device-width: 200in) "
                "and (device-height: 400in) "
                "and (max-device-width: 300in)").first);
  EXPECT_TRUE(V("screen and (device-width: 200in) "
                "and (device-height: 400in) "
                "and (hover: hover) "
                "and (max-device-width: 300in)").first);

  // Multiple spaces ok.
  EXPECT_TRUE(V("all and           (device-width: 200in) "
                "and (device-height: 400in)\t\t\t "
                "and        (max-device-width: 300in)\t\t \n").first);
  EXPECT_TRUE(V("only screen and           (device-width: 200in) "
                "and (device-height: 400in)\t\t\t "
                "and (max-device-width: 300in)\t\t \n").first);
  EXPECT_TRUE(V("screen "
                "and           (device-width: 200in) "
                "and (device-height: 400in)\t\t\t "
                "and (max-device-width: 300in)\t\t \n").first);
}

TEST(SupportedMediaQueryParserTest, ValidQueryRatio) {
  EXPECT_TRUE(V("all and (aspect-ratio    : 1900/300)").first);
  EXPECT_TRUE(V("only screen and (aspect-ratio    : 1900/300)").first);
  EXPECT_TRUE(V("screen and (aspect-ratio    : 1900/300)").first);
  EXPECT_TRUE(V("all and (aspect-ratio: 9/6) and "
                "(device-aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("only screen and (aspect-ratio: 9/6) and "
                "(device-aspect-ratio: 9/6)").first);
  EXPECT_TRUE(V("screen and (aspect-ratio: 9/6) and "
                "(device-aspect-ratio: 9/6)").first);

  // Aspect ratio must be ratio, not length.
  EXPECT_FALSE(V("all and (aspect-ratio: 200px)").first);
}

TEST(SupportedMediaQueryParserTest, MultiLine) {
  EXPECT_TRUE(V(R"(all and
  (max-width: 200px) and
  (max-height: 500px) and
  (aspect-ratio: 9/6) and
  (device-width: 8in) and
  (device-height: 16in))").first);

  EXPECT_TRUE(V(R"(only screen and
  (max-width: 200px) and
  (max-height: 500px) and
  (aspect-ratio: 9/6) and
  (device-width: 8in) and
  (device-height: 16in))").first);

  EXPECT_TRUE(V(R"(screen and
  (max-width: 200px) and
  (max-height: 500px) and
  (aspect-ratio: 9/6) and
  (device-width: 8in) and
  (device-height: 16in))").first);
}

}  // namespace

}  // namespace htmlparser::css


text:
"use strict";

var assert         = require("chai").assert
  , coerceToFinite = require("../../finite/coerce");

describe("finite/coerce", function () {
	it("Should return input number", function () {
		assert.equal(coerceToFinite(123.123), 123.123);
	});
	it("Should coerce string", function () { assert.equal(coerceToFinite("12"), 12); });
	it("Should coerce booleans", function () { assert.equal(coerceToFinite(true), 1); });
	it("Should coerce number objects", function () {
		assert.equal(coerceToFinite(new Number(343)), 343);
	});
	it("Should coerce objects", function () {
		assert.equal(coerceToFinite({ valueOf: function () { return 23; } }), 23);
	});

	it("Should reject infinite number", function () {
		assert.equal(coerceToFinite(Infinity), null);
	});
	it("Should reject NaN", function () { assert.equal(coerceToFinite(NaN), null); });

	if (typeof Object.create === "function") {
		it("Should not coerce objects with no number representation", function () {
			assert.equal(coerceToFinite(Object.create(null)), null);
		});
	}

	it("Should not coerce null", function () { assert.equal(coerceToFinite(null), null); });
	it("Should not coerce undefined", function () {
		assert.equal(coerceToFinite(undefined), null);
	});

	if (typeof Symbol === "function") {
		it("Should not coerce symbols", function () {
			assert.equal(coerceToFinite(Symbol("foo")), null);
		});
	}
});


text:
module Conversocial
  module Resources
    module QueryEngines
      module ClassMethods

      end

      def self.included(base)
        base.extend ClassMethods
      end
    end
  end
end


text:
namespace P23.MetaTrader4.Manager.Contracts
{
    /// <summary>
    /// Trade state
    /// </summary>
    public enum TradeState
    {
        /// <summary>
        /// Open normal
        /// </summary>
        OpenNormal,
        /// <summary>
        /// Open remand
        /// </summary>
        OpenRemand,
        /// <summary>
        /// Open restored
        /// </summary>
        OpenRestored,
        /// <summary>
        /// Close normal
        /// </summary>
        ClosedNormal,
        /// <summary>
        /// Closed part
        /// </summary>
        ClosedPart,
        /// <summary>
        /// Closed by
        /// </summary>
        ClosedBy,
        /// <summary>
        /// Deleted
        /// </summary>
        Deleted
    }
}


text:
require 'spec_helper'

describe 'Nazrin::DataAccessor::Mongoid' do
  let!(:user) { User.create(email: 'example@example.com', created_at: Time.now) }

  it { expect(User).to be_respond_to :search }

  describe '#search' do
    let(:response) { FakeResponse.new(user._id.to_s) }

    before do
      allow_any_instance_of(Nazrin::SearchClient).to receive(:search).and_return(response)
    end

    context 'without facets' do
      it { expect(User.search.size(1).start(0).execute).to eq [user] }
      it { expect(User.search.size(1).start(0).execute.facets).to be_nil }
    end

    context 'with facets' do
      let(:response) { FakeResponseWithFacets.new(user._id.to_s) }
      it { expect(User.search.size(1).start(0).execute).to eq [user] }
      it { expect(User.search.size(1).start(0).execute.facets).to eq(response.facets) }
    end

    context 'with options' do
      it { expect(User.search({in: {email: ['example@example.com']}}).size(1).start(0).execute).to eq [user] }
    end
  end
end


text:
* New message system to notify users about important fixed and updates

[Full release notes](https://github.com/thatsIch/sublime-rainmeter/releases/tag/2.13.0)

---

A lot of effort has been put into Sublime Rainmeter. If you like it, star the [repository](https://github.com/thatsIch/sublime-rainmeter).


text:
package edu.mit.dig.saveflickr.model.Comment;

import com.ibm.adtech.jastor.*;
import com.hp.hpl.jena.rdf.model.Resource;
import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.rdf.model.Statement;
import com.hp.hpl.jena.rdf.model.StmtIterator;
import com.hp.hpl.jena.vocabulary.RDF;

/**
 * Factory for instantiating objects for ontology classes in the  ontology.  The
 * get methods leave the model unchanged and return a Java view of the object in the model.  The create methods
 * may add certain baseline properties to the model such as rdf:type and any properties with hasValue restrictions.
 *
(URI: http://sharonmyrtle.com/DIG/flick/comment#)

 *

 *

 *

 */
public class Factory extends com.ibm.adtech.jastor.ThingFactory {

	/**
	 * Create a new instance of Comment.  Adds the rdf:type property for the given resource to the model.
	 * @param resource The resource of the Comment
	 * @param model the Jena Model.
	 */
	public static Comment createComment(Resource resource, Model model) throws JastorException {
		return edu.mit.dig.saveflickr.model.Comment.CommentImpl.createComment(resource,model);
	}

	/**
	 * Create a new instance of Comment.  Adds the rdf:type property for the given resource to the model.
	 * @param uri The uri of the Comment
	 * @param model the Jena Model.
	 */
	public static Comment createComment(String uri, Model model) throws JastorException {
		Comment obj = edu.mit.dig.saveflickr.model.Comment.CommentImpl.createComment(model.createResource(uri), model);
		return obj;
	}

	/**
	 * Create a new instance of Comment.  Leaves the model unchanged.
	 * @param uri The uri of the Comment
	 * @param model the Jena Model.
	 */
	public static Comment getComment(String uri, Model model) throws JastorException {
		return getComment(model.createResource(uri),model);
	}

	/**
	 * Create a new instance of Comment.  Leaves the model unchanged.
	 * @param resource The resource of the Comment
	 * @param model the Jena Model.
	 */
	public static Comment getComment(Resource resource, Model model) throws JastorException {
		String code = (model.hashCode()*17 + edu.mit.dig.saveflickr.model.Comment.Comment.class.hashCode()) + resource.toString();
		edu.mit.dig.saveflickr.model.Comment.CommentImpl obj = (edu.mit.dig.saveflickr.model.Comment.CommentImpl)objects.get(code);
		if (obj == null) {
			obj = edu.mit.dig.saveflickr.model.Comment.CommentImpl.getComment(resource, model);
			if (obj == null)
				return null;
			objects.put(code, obj);
		}
		return obj;
	}

	/**
	 * Return an instance of Comment for every resource in the model with rdf:Type http://www.foolme.csail.mit.edu/ns/flickr/Comment.owl#Comment
	 * @param model the Jena Model
	 * @return a List of Comment
	 */
	public static java.util.List getAllComment(Model model) throws JastorException {
		StmtIterator it = model.listStatements(null,RDF.type,Comment.TYPE);
		java.util.List list = new java.util.ArrayList();
		while (it.hasNext()) {
			Statement stmt = it.nextStatement();
			list.add(getComment(stmt.getSubject(),model));
		}
		return list;
	}

	/**
	 * Returns an instance of an interface for the given Resource.  The return instance is guaranteed to
	 * implement the most specific interface in *some* hierarchy in which the Resource participates.  The behavior
	 * is unspecified for resources with RDF types from different hierarchies.
	 * @return an instance of Thing
	 */
	public static Thing getThing(com.hp.hpl.jena.rdf.model.Resource res, com.hp.hpl.jena.rdf.model.Model model) throws JastorException {
		if (res.hasProperty(RDF.type,model.getResource("http://www.foolme.csail.mit.edu/ns/flickr/Comment.owl#Comment"))) {
			return getComment(res,model);
		}
		return new ThingImpl(res,model);
	}

	/**
	 * Returns an instance of an interface for the given Resource URI.  The return instance is guaranteed to
	 * implement the most specific interface in *some* hierarchy in which the Resource participates.  The behavior
	 * is unspecified for resources with RDF types from different hierarchies.
	 * @return an instance of Thing
	 */
	public static Thing getThing(String uri, com.hp.hpl.jena.rdf.model.Model model) throws JastorException {
		return getThing(model.getResource(uri),model);
	}

	/**
	 * Return a list of compatible interfaces for the given type.  Searches through all ontology classes
	 * in the  ontology.  The list is sorted according to the topological sort
	 * of the class hierarchy
	 * @return a List of type java.lang.Class
	 */
	public static java.util.List listCompatibleInterfaces (com.hp.hpl.jena.rdf.model.Resource type) {
		java.util.List types = new java.util.ArrayList();
		if (type.equals(edu.mit.dig.saveflickr.model.Comment.Comment.TYPE)) {
			types.add(edu.mit.dig.saveflickr.model.Comment.Comment.class);
		}
		return types;
	}
}


text:
// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
/*===========================================================================
	C++ class header boilerplate exported from UnrealHeaderTool.
	This is automatically generated by the tools.
	DO NOT modify this manually! Edit the corresponding .h files instead!
===========================================================================*/

#include "ObjectBase.h"

PRAGMA_DISABLE_DEPRECATION_WARNINGS
#ifdef SPRITESTUDIO5_SsTypes_generated_h
#error "SsTypes.generated.h already included, missing '#pragma once' in SsTypes.h"
#endif
#define SPRITESTUDIO5_SsTypes_generated_h

#define Riaju1_Plugins_SpriteStudio5_Source_SpriteStudio5_Public_Data_SsTypes_h_176_GENERATED_BODY \
	friend SPRITESTUDIO5_API class UScriptStruct* Z_Construct_UScriptStruct_FSsCurve(); \
	SPRITESTUDIO5_API static class UScriptStruct* StaticStruct();

#define Riaju1_Plugins_SpriteStudio5_Source_SpriteStudio5_Public_Data_SsTypes_h_129_GENERATED_BODY \
	friend SPRITESTUDIO5_API class UScriptStruct* Z_Construct_UScriptStruct_FSsU8Color(); \
	SPRITESTUDIO5_API static class UScriptStruct* StaticStruct();

#undef CURRENT_FILE_ID
#define CURRENT_FILE_ID Riaju1_Plugins_SpriteStudio5_Source_SpriteStudio5_Public_Data_SsTypes_h

#define FOREACH_ENUM_SSRENDERBLENDTYPE(op) \
	op(SsRenderBlendType::Mix) \
	op(SsRenderBlendType::Add) \
	op(SsRenderBlendType::Num) \
	op(SsRenderBlendType::Invalid)
#define FOREACH_ENUM_SSEFFECTNODETYPE(op) \
	op(SsEffectNodeType::Root) \
	op(SsEffectNodeType::Emmiter) \
	op(SsEffectNodeType::Particle) \
	op(SsEffectNodeType::Num) \
	op(SsEffectNodeType::Invalid)
#define FOREACH_ENUM_SSKEYVALUETYPE(op) \
	op(SsKeyValueType::Bool) \
	op(SsKeyValueType::Float) \
	op(SsKeyValueType::Int) \
	op(SsKeyValueType::String) \
	op(SsKeyValueType::Cellmap) \
	op(SsKeyValueType::VertexAnime) \
	op(SsKeyValueType::ColorAnime) \
	op(SsKeyValueType::UserData) \
	op(SsKeyValueType::Instance) \
	op(SsKeyValueType::Unkown)
#define FOREACH_ENUM_SSATTRIBUTEKIND(op) \
	op(SsAttributeKind::Cell) \
	op(SsAttributeKind::Posx) \
	op(SsAttributeKind::Posy) \
	op(SsAttributeKind::Posz) \
	op(SsAttributeKind::Rotx) \
	op(SsAttributeKind::Roty) \
	op(SsAttributeKind::Rotz) \
	op(SsAttributeKind::Sclx) \
	op(SsAttributeKind::Scly) \
	op(SsAttributeKind::Alpha) \
	op(SsAttributeKind::Prio) \
	op(SsAttributeKind::Fliph) \
	op(SsAttributeKind::Flipv) \
	op(SsAttributeKind::Hide) \
	op(SsAttributeKind::Color) \
	op(SsAttributeKind::Vertex) \
	op(SsAttributeKind::Pivotx) \
	op(SsAttributeKind::Pivoty) \
	op(SsAttributeKind::Anchorx) \
	op(SsAttributeKind::Anchory) \
	op(SsAttributeKind::Sizex) \
	op(SsAttributeKind::Sizey) \
	op(SsAttributeKind::Imgfliph) \
	op(SsAttributeKind::Imgflipv) \
	op(SsAttributeKind::Uvtx) \
	op(SsAttributeKind::Uvty) \
	op(SsAttributeKind::Uvrz) \
	op(SsAttributeKind::Uvsx) \
	op(SsAttributeKind::Uvsy) \
	op(SsAttributeKind::Boundr) \
	op(SsAttributeKind::User) \
	op(SsAttributeKind::Instance) \
	op(SsAttributeKind::Num) \
	op(SsAttributeKind::Invalid)
#define FOREACH_ENUM_SSTEXFILTERMODE(op) \
	op(SsTexFilterMode::Nearest) \
	op(SsTexFilterMode::Linear) \
	op(SsTexFilterMode::Num) \
	op(SsTexFilterMode::Invalid)
#define FOREACH_ENUM_SSTEXWRAPMODE(op) \
	op(SsTexWrapMode::Clamp) \
	op(SsTexWrapMode::Repeat) \
	op(SsTexWrapMode::Mirror) \
	op(SsTexWrapMode::Num) \
	op(SsTexWrapMode::Invalid)
#define FOREACH_ENUM_SSINTERPOLATIONTYPE(op) \
	op(SsInterpolationType::None) \
	op(SsInterpolationType::Linear) \
	op(SsInterpolationType::Hermite) \
	op(SsInterpolationType::Bezier) \
	op(SsInterpolationType::Acceleration) \
	op(SsInterpolationType::Deceleration) \
	op(SsInterpolationType::Num) \
	op(SsInterpolationType::Invalid)
#define FOREACH_ENUM_SSCOLORBLENDTARGET(op) \
	op(SsColorBlendTarget::Whole) \
	op(SsColorBlendTarget::Vertex) \
	op(SsColorBlendTarget::Num) \
	op(SsColorBlendTarget::Invalid)
#define FOREACH_ENUM_SSBLENDTYPE(op) \
	op(SsBlendType::Mix) \
	op(SsBlendType::Mul) \
	op(SsBlendType::Add) \
	op(SsBlendType::Sub) \
	op(SsBlendType::Effect) \
	op(SsBlendType::Num) \
	op(SsBlendType::Invalid)
#define FOREACH_ENUM_SSINHERITTYPE(op) \
	op(SsInheritType::Parent) \
	op(SsInheritType::Self) \
	op(SsInheritType::Num) \
	op(SsInheritType::Invalid)
#define FOREACH_ENUM_SSBOUNDSTYPE(op) \
	op(SsBoundsType::None) \
	op(SsBoundsType::Quad) \
	op(SsBoundsType::Aabb) \
	op(SsBoundsType::Circle) \
	op(SsBoundsType::CircleSmin) \
	op(SsBoundsType::CircleSmax) \
	op(SsBoundsType::Num) \
	op(SsBoundsType::Invalid)
#define FOREACH_ENUM_SSPARTTYPE(op) \
	op(SsPartType::Null) \
	op(SsPartType::Normal) \
	op(SsPartType::Text) \
	op(SsPartType::Instance) \
	op(SsPartType::Effect) \
	op(SsPartType::Num) \
	op(SsPartType::Invalid)
#define FOREACH_ENUM_SSPARTSSORTMODE(op) \
	op(SsPartsSortMode::Prio) \
	op(SsPartsSortMode::Z) \
	op(SsPartsSortMode::Num) \
	op(SsPartsSortMode::Invalid)
PRAGMA_ENABLE_DEPRECATION_WARNINGS


text:
import _extends from "@babel/runtime/helpers/extends";
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
var _excluded = ["badgeBeforeTitle", "badgeAfterTitle", "badgeBeforeSubtitle", "badgeAfterSubtitle", "before", "indicator", "children", "after", "expandable", "multiline", "subhead", "subtitle", "extraSubtitle"];
import { createScopedElement } from "../../lib/jsxRuntime";
import { classNames } from "../../lib/classNames";
import { getClassName } from "../../helpers/getClassName";
import { Tappable } from "../Tappable/Tappable";
import { Icon24Chevron } from "@vkontakte/icons";
import { Platform } from "../../lib/platform";
import { usePlatform } from "../../hooks/usePlatform";
import { hasReactNode } from "../../lib/utils";
import { useAdaptivity } from "../../hooks/useAdaptivity";
import { Headline } from "../Typography/Headline/Headline";
import { Subhead } from "../Typography/Subhead/Subhead";
import { getSizeYClassName } from "../../helpers/getSizeYClassName";
import "./SimpleCell.css";

/**
 * @see https://vkcom.github.io/VKUI/#/SimpleCell
 */
export var SimpleCell = function SimpleCell(_ref) {
  var badgeBeforeTitle = _ref.badgeBeforeTitle,
      badgeAfterTitle = _ref.badgeAfterTitle,
      badgeBeforeSubtitle = _ref.badgeBeforeSubtitle,
      badgeAfterSubtitle = _ref.badgeAfterSubtitle,
      before = _ref.before,
      indicator = _ref.indicator,
      children = _ref.children,
      after = _ref.after,
      expandable = _ref.expandable,
      multiline = _ref.multiline,
      subhead = _ref.subhead,
      subtitle = _ref.subtitle,
      extraSubtitle = _ref.extraSubtitle,
      restProps = _objectWithoutProperties(_ref, _excluded);

  var platform = usePlatform();
  var hasAfter = hasReactNode(after) || expandable && platform === Platform.IOS;

  var _useAdaptivity = useAdaptivity(),
      sizeY = _useAdaptivity.sizeY;

  return createScopedElement(Tappable, _extends({}, restProps, {
    vkuiClass: classNames(getClassName("SimpleCell", platform), getSizeYClassName("SimpleCell", sizeY), expandable && "SimpleCell--exp", multiline && "SimpleCell--mult")
  }), before, createScopedElement("div", {
    vkuiClass: "SimpleCell__main"
  }, subhead && createScopedElement(Subhead, {
    Component: "span",
    vkuiClass: "SimpleCell__text SimpleCell__subhead"
  }, subhead), createScopedElement("div", {
    vkuiClass: "SimpleCell__content"
  }, badgeBeforeTitle && createScopedElement("span", {
    vkuiClass: "SimpleCell__badge"
  }, badgeBeforeTitle), createScopedElement(Headline, {
    Component: "span",
    vkuiClass: "SimpleCell__children",
    weight: "3"
  }, children), hasReactNode(badgeAfterTitle) && createScopedElement("span", {
    vkuiClass: "SimpleCell__badge"
  }, badgeAfterTitle)), subtitle && createScopedElement("div", {
    vkuiClass: "SimpleCell__content"
  }, badgeBeforeSubtitle && createScopedElement("span", {
    vkuiClass: "SimpleCell__badge"
  }, badgeBeforeSubtitle), createScopedElement("span", {
    vkuiClass: "SimpleCell__typography SimpleCell__text SimpleCell__subtitle"
  }, subtitle), badgeAfterSubtitle && createScopedElement("span", {
    vkuiClass: "SimpleCell__badge"
  }, badgeAfterSubtitle)), extraSubtitle && createScopedElement("span", {
    vkuiClass: "SimpleCell__typography SimpleCell__text SimpleCell__extraSubtitle"
  }, extraSubtitle)), hasReactNode(indicator) && createScopedElement(Headline, {
    Component: "span",
    weight: "3",
    vkuiClass: "SimpleCell__indicator"
  }, indicator), hasAfter && createScopedElement("div", {
    vkuiClass: "SimpleCell__after"
  }, after, expandable && platform === Platform.IOS && createScopedElement(Icon24Chevron, null)));
};
//# sourceMappingURL=SimpleCell.js.map