text:
<?xml version="1.0" ?>
<rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:sbh="http://wiki.synbiohub.org/wiki/Terms/synbiohub#" xmlns:sbol="http://sbols.org/v2#" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:igem="http://wiki.synbiohub.org/wiki/Terms/igem#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
  <prov:Activity rdf:about="http://michael.zhang/GFP_Reporter_Template_GeneratedInstance2_SBOLDesignerActivity/1">
    <dc:creator>Michael Zhang</dc:creator>
    <sbol:displayId>GFP_Reporter_Template_GeneratedInstance2_SBOLDesignerActivity</sbol:displayId>
    <sbol:persistentIdentity rdf:resource="http://michael.zhang/GFP_Reporter_Template_GeneratedInstance2_SBOLDesignerActivity"/>
    <sbol:version>1</sbol:version>
    <prov:endedAtTime>2018-01-22T17:15:46.461-07:00</prov:endedAtTime>
    <prov:qualifiedAssociation>
      <prov:Association rdf:about="http://michael.zhang/GFP_Reporter_Template_GeneratedInstance2_SBOLDesignerActivity/Association/1">
        <sbol:displayId>Association</sbol:displayId>
        <sbol:persistentIdentity rdf:resource="http://michael.zhang/GFP_Reporter_Template_GeneratedInstance2_SBOLDesignerActivity/Association"/>
        <sbol:version>1</sbol:version>
        <prov:agent rdf:resource="https://synbiohub.org/public/SBOL_Software/SBOLDesigner/2.2"/>
        <prov:hadRole rdf:resource="http://sbols.org/v2#sequenceEditor"/>
      </prov:Association>
    </prov:qualifiedAssociation>
    <prov:qualifiedUsage>
      <prov:Usage rdf:about="http://michael.zhang/GFP_Reporter_Template_GeneratedInstance2_SBOLDesignerActivity/GFP_Reporter_Template_CombinatorialDerivation_Sample_Usage/1">
        <sbol:displayId>GFP_Reporter_Template_CombinatorialDerivation_Sample_Usage</sbol:displayId>
        <sbol:persistentIdentity rdf:resource="http://michael.zhang/GFP_Reporter_Template_GeneratedInstance2_SBOLDesignerActivity/GFP_Reporter_Template_CombinatorialDerivation_Sample_Usage"/>
        <sbol:version>1</sbol:version>
        <prov:entity rdf:resource="http://michael.zhang/GFP_Reporter_Template_CombinatorialDerivation_Sample/1"/>
        <prov:hadRole rdf:resource="http://sbols.org/v2#sequenceEditor"/>
      </prov:Usage>
    </prov:qualifiedUsage>
  </prov:Activity>
  <sbol:Sequence rdf:about="http://michael.zhang/GFP_Reporter_TemplateSequence/1">
    <sbol:displayId>GFP_Reporter_TemplateSequence</sbol:displayId>
    <sbol:elements>aaagaggagaaatcacactggctcaccttcgggtgggcctttctgcgtttatatactagagagagaatataaaaagccagattattaatccggcttttttattattt</sbol:elements>
    <sbol:encoding rdf:resource="http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html"/>
    <sbol:persistentIdentity rdf:resource="http://michael.zhang/GFP_Reporter_TemplateSequence"/>
    <sbol:version>1</sbol:version>
    <prov:wasGeneratedBy rdf:resource="http://michael.zhang/GFP_Reporter_Template_GeneratedInstance2_SBOLDesignerActivity/1"/>
    <prov:wasGeneratedBy rdf:resource="http://michael.zhang/GFP_Reporter_Template_SBOLDesignerActivity/1"/>
  </sbol:Sequence>
  <sbol:ComponentDefinition rdf:about="http://michael.zhang/GFP_Reporter_Template_GeneratedInstance2/1">
    <sbol:displayId>GFP_Reporter_Template_GeneratedInstance2</sbol:displayId>
    <sbol:persistentIdentity rdf:resource="http://michael.zhang/GFP_Reporter_Template_GeneratedInstance2"/>
    <sbol:role rdf:resource="http://identifiers.org/so/SO:0000804"/>
    <sbol:sequence rdf:resource="http://michael.zhang/GFP_Reporter_TemplateSequence/1"/>
    <sbol:type rdf:resource="http://www.biopax.org/release/biopax-level3.owl#DnaRegion"/>
    <sbol:version>1</sbol:version>
    <prov:wasDerivedFrom rdf:resource="http://michael.zhang/UnnamedPart/1"/>
    <prov:wasDerivedFrom rdf:resource="http://michael.zhang/GFP_Reporter_Template/1"/>
    <prov:wasGeneratedBy rdf:resource="http://michael.zhang/GFP_Reporter_Template_GeneratedInstance2_SBOLDesignerActivity/1"/>
    <prov:wasGeneratedBy rdf:resource="http://michael.zhang/GFP_Reporter_Template_SBOLDesignerActivity/1"/>
    <sbol:component>
      <sbol:Component rdf:about="http://michael.zhang/GFP_Reporter_Template_GeneratedInstance2/RBS_Component/1">
        <sbol:access rdf:resource="http://sbols.org/v2#public"/>
        <sbol:definition rdf:resource="https://synbiohub.org/public/igem/BBa_B0034/1"/>
        <sbol:displayId>RBS_Component</sbol:displayId>
        <sbol:persistentIdentity rdf:resource="http://michael.zhang/GFP_Reporter_Template_GeneratedInstance2/RBS_Component"/>
        <sbol:version>1</sbol:version>
      </sbol:Component>
    </sbol:component>
    <sbol:component>
      <sbol:Component rdf:about="http://michael.zhang/GFP_Reporter_Template_GeneratedInstance2/Ter_Component/1">
        <sbol:access rdf:resource="http://sbols.org/v2#public"/>
        <sbol:definition rdf:resource="https://synbiohub.org/public/igem/BBa_B0014/1"/>
        <sbol:displayId>Ter_Component</sbol:displayId>
        <sbol:persistentIdentity rdf:resource="http://michael.zhang/GFP_Reporter_Template_GeneratedInstance2/Ter_Component"/>
        <sbol:version>1</sbol:version>
      </sbol:Component>
    </sbol:component>
    <sbol:component>
      <sbol:Component rdf:about="http://michael.zhang/GFP_Reporter_Template_GeneratedInstance2/Pro_Component/1">
        <sbol:access rdf:resource="http://sbols.org/v2#public"/>
        <sbol:definition rdf:resource="https://synbiohub.org/public/igem/BBa_K1545001/1"/>
        <sbol:displayId>Pro_Component</sbol:displayId>
        <sbol:persistentIdentity rdf:resource="http://michael.zhang/GFP_Reporter_Template_GeneratedInstance2/Pro_Component"/>
        <sbol:version>1</sbol:version>
      </sbol:Component>
    </sbol:component>
    <sbol:component>
      <sbol:Component rdf:about="http://michael.zhang/GFP_Reporter_Template_GeneratedInstance2/CDS_Component/1">
        <sbol:access rdf:resource="http://sbols.org/v2#public"/>
        <sbol:definition rdf:resource="http://michael.zhang/CDS/1"/>
        <sbol:displayId>CDS_Component</sbol:displayId>
        <sbol:persistentIdentity rdf:resource="http://michael.zhang/GFP_Reporter_Template_GeneratedInstance2/CDS_Component"/>
        <sbol:version>1</sbol:version>
      </sbol:Component>
    </sbol:component>
    <sbol:sequenceConstraint>
      <sbol:SequenceConstraint rdf:about="http://michael.zhang/GFP_Reporter_Template_GeneratedInstance2/GFP_Reporter_Template_SequenceConstraint/1">
        <sbol:displayId>GFP_Reporter_Template_SequenceConstraint</sbol:displayId>
        <sbol:object rdf:resource="http://michael.zhang/GFP_Reporter_Template_GeneratedInstance2/RBS_Component/1"/>
        <sbol:persistentIdentity rdf:resource="http://michael.zhang/GFP_Reporter_Template_GeneratedInstance2/GFP_Reporter_Template_SequenceConstraint"/>
        <sbol:restriction rdf:resource="http://sbols.org/v2#precedes"/>
        <sbol:subject rdf:resource="http://michael.zhang/GFP_Reporter_Template_GeneratedInstance2/Pro_Component/1"/>
        <sbol:version>1</sbol:version>
      </sbol:SequenceConstraint>
    </sbol:sequenceConstraint>
    <sbol:sequenceConstraint>
      <sbol:SequenceConstraint rdf:about="http://michael.zhang/GFP_Reporter_Template_GeneratedInstance2/GFP_Reporter_Template_SequenceConstraint1/1">
        <sbol:displayId>GFP_Reporter_Template_SequenceConstraint1</sbol:displayId>
        <sbol:object rdf:resource="http://michael.zhang/GFP_Reporter_Template_GeneratedInstance2/CDS_Component/1"/>
        <sbol:persistentIdentity rdf:resource="http://michael.zhang/GFP_Reporter_Template_GeneratedInstance2/GFP_Reporter_Template_SequenceConstraint1"/>
        <sbol:restriction rdf:resource="http://sbols.org/v2#precedes"/>
        <sbol:subject rdf:resource="http://michael.zhang/GFP_Reporter_Template_GeneratedInstance2/RBS_Component/1"/>
        <sbol:version>1</sbol:version>
      </sbol:SequenceConstraint>
    </sbol:sequenceConstraint>
    <sbol:sequenceConstraint>
      <sbol:SequenceConstraint rdf:about="http://michael.zhang/GFP_Reporter_Template_GeneratedInstance2/GFP_Reporter_Template_SequenceConstraint2/1">
        <sbol:displayId>GFP_Reporter_Template_SequenceConstraint2</sbol:displayId>
        <sbol:object rdf:resource="http://michael.zhang/GFP_Reporter_Template_GeneratedInstance2/Ter_Component/1"/>
        <sbol:persistentIdentity rdf:resource="http://michael.zhang/GFP_Reporter_Template_GeneratedInstance2/GFP_Reporter_Template_SequenceConstraint2"/>
        <sbol:restriction rdf:resource="http://sbols.org/v2#precedes"/>
        <sbol:subject rdf:resource="http://michael.zhang/GFP_Reporter_Template_GeneratedInstance2/CDS_Component/1"/>
        <sbol:version>1</sbol:version>
      </sbol:SequenceConstraint>
    </sbol:sequenceConstraint>
  </sbol:ComponentDefinition>
  <sbol:Sequence rdf:about="https://synbiohub.org/public/igem/BBa_K1545000_sequence/1">
    <sbol:displayId>BBa_K1545000_sequence</sbol:displayId>
    <sbol:elements>ccatctaattcaacaagaattggtgatgttaat</sbol:elements>
    <sbol:encoding rdf:resource="http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html"/>
    <sbol:persistentIdentity rdf:resource="https://synbiohub.org/public/igem/BBa_K1545000_sequence"/>
    <sbol:version>1</sbol:version>
    <sbh:ownedBy rdf:resource="https://synbiohub.org/user/james"/>
    <sbh:ownedBy rdf:resource="https://synbiohub.org/user/myers"/>
    <sbh:topLevel rdf:resource="https://synbiohub.org/public/igem/BBa_K1545000_sequence/1"/>
    <prov:wasDerivedFrom rdf:resource="http://parts.igem.org/Part:BBa_K1545000"/>
    <prov:wasGeneratedBy rdf:resource="https://synbiohub.org/public/igem/igem2sbol/1"/>
  </sbol:Sequence>
  <sbol:CombinatorialDerivation rdf:about="http://michael.zhang/GFP_Reporter_Template_CombinatorialDerivation_Sample/1">
    <sbol:displayId>GFP_Reporter_Template_CombinatorialDerivation_Sample</sbol:displayId>
    <sbol:persistentIdentity rdf:resource="http://michael.zhang/GFP_Reporter_Template_CombinatorialDerivation_Sample"/>
    <sbol:strategy rdf:resource="http://sbols.org/v2#sample"/>
    <sbol:template rdf:resource="http://michael.zhang/GFP_Reporter_Template/1"/>
    <sbol:version>1</sbol:version>
    <sbol:variableComponent>
      <sbol:VariableComponent rdf:about="http://michael.zhang/GFP_Reporter_Template_CombinatorialDerivation_Sample/Pro_Component_VariableComponent/1">
        <sbol:displayId>Pro_Component_VariableComponent</sbol:displayId>
        <sbol:operator rdf:resource="http://sbols.org/v2#zeroOrOne"/>
        <sbol:persistentIdentity rdf:resource="http://michael.zhang/GFP_Reporter_Template_CombinatorialDerivation_Sample/Pro_Component_VariableComponent"/>
        <sbol:variable rdf:resource="http://michael.zhang/GFP_Reporter_Template/Pro_Component/1"/>
        <sbol:variant rdf:resource="https://synbiohub.org/public/igem/BBa_K1545001/1"/>
        <sbol:variant rdf:resource="https://synbiohub.org/public/igem/BBa_K1545000/1"/>
        <sbol:version>1</sbol:version>
      </sbol:VariableComponent>
    </sbol:variableComponent>
  </sbol:CombinatorialDerivation>
  <sbol:Sequence rdf:about="https://synbiohub.org/public/igem/BBa_B0012_sequence/1">
    <sbol:displayId>BBa_B0012_sequence</sbol:displayId>
    <sbol:elements>tcacactggctcaccttcgggtgggcctttctgcgtttata</sbol:elements>
    <sbol:encoding rdf:resource="http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html"/>
    <sbol:persistentIdentity rdf:resource="https://synbiohub.org/public/igem/BBa_B0012_sequence"/>
    <sbol:version>1</sbol:version>
    <sbh:ownedBy rdf:resource="https://synbiohub.org/user/james"/>
    <sbh:ownedBy rdf:resource="https://synbiohub.org/user/myers"/>
    <sbh:topLevel rdf:resource="https://synbiohub.org/public/igem/BBa_B0012_sequence/1"/>
    <prov:wasDerivedFrom rdf:resource="http://parts.igem.org/Part:BBa_B0012"/>
    <prov:wasGeneratedBy rdf:resource="https://synbiohub.org/public/igem/igem2sbol/1"/>
  </sbol:Sequence>
  <prov:Activity rdf:about="http://michael.zhang/GFP_Reporter_Template_SBOLDesignerActivity/1">
    <dc:creator>Michael Zhang</dc:creator>
    <sbol:displayId>GFP_Reporter_Template_SBOLDesignerActivity</sbol:displayId>
    <sbol:persistentIdentity rdf:resource="http://michael.zhang/GFP_Reporter_Template_SBOLDesignerActivity"/>
    <sbol:version>1</sbol:version>
    <prov:endedAtTime>2018-01-22T17:15:40.442-07:00</prov:endedAtTime>
    <prov:qualifiedAssociation>
      <prov:Association rdf:about="http://michael.zhang/GFP_Reporter_Template_SBOLDesignerActivity/Association/1">
        <sbol:displayId>Association</sbol:displayId>
        <sbol:persistentIdentity rdf:resource="http://michael.zhang/GFP_Reporter_Template_SBOLDesignerActivity/Association"/>
        <sbol:version>1</sbol:version>
        <prov:agent rdf:resource="https://synbiohub.org/public/SBOL_Software/SBOLDesigner/2.2"/>
        <prov:hadRole rdf:resource="http://sbols.org/v2#sequenceEditor"/>
      </prov:Association>
    </prov:qualifiedAssociation>
  </prov:Activity>
  <sbol:ComponentDefinition rdf:about="http://michael.zhang/CDS/1">
    <sbol:displayId>CDS</sbol:displayId>
    <sbol:persistentIdentity rdf:resource="http://michael.zhang/CDS"/>
    <sbol:role rdf:resource="http://identifiers.org/so/SO:0000316"/>
    <sbol:type rdf:resource="http://www.biopax.org/release/biopax-level3.owl#DnaRegion"/>
    <sbol:version>1</sbol:version>
    <prov:wasGeneratedBy rdf:resource="http://michael.zhang/GFP_Reporter_Template_GeneratedInstance2_SBOLDesignerActivity/1"/>
    <prov:wasGeneratedBy rdf:resource="http://michael.zhang/GFP_Reporter_Template_SBOLDesignerActivity/1"/>
  </sbol:ComponentDefinition>
  <sbol:ComponentDefinition rdf:about="https://synbiohub.org/public/igem/BBa_B0011/1">
    <dc:creator>Reshma Shetty</dc:creator>
    <dcterms:created>2003-01-31T12:00:00Z</dcterms:created>
    <dcterms:description>LuxICDABEG (+/-)</dcterms:description>
    <dcterms:modified>2015-08-31T04:07:20Z</dcterms:modified>
    <dcterms:title>BBa_B0011</dcterms:title>
    <sbol:displayId>BBa_B0011</sbol:displayId>
    <sbol:persistentIdentity rdf:resource="https://synbiohub.org/public/igem/BBa_B0011"/>
    <sbol:role rdf:resource="http://identifiers.org/so/SO:0000141"/>
    <sbol:role rdf:resource="http://wiki.synbiohub.org/wiki/Terms/igem#partType/Terminator"/>
    <sbol:sequence rdf:resource="https://synbiohub.org/public/igem/BBa_B0011_sequence/1"/>
    <sbol:type rdf:resource="http://www.biopax.org/release/biopax-level3.owl#DnaRegion"/>
    <sbol:version>1</sbol:version>
    <igem:discontinued>false</igem:discontinued>
    <igem:dominant>false</igem:dominant>
    <igem:experience rdf:resource="http://wiki.synbiohub.org/wiki/Terms/igem#experience/Works"/>
    <igem:group_u_list>_1_</igem:group_u_list>
    <igem:m_user_id>0</igem:m_user_id>
    <igem:owner_id>24</igem:owner_id>
    <igem:owning_group_id>7</igem:owning_group_id>
    <igem:partStatus>Released HQ 2013</igem:partStatus>
    <igem:sampleStatus>In stock</igem:sampleStatus>
    <igem:status rdf:resource="http://wiki.synbiohub.org/wiki/Terms/igem#status/Available"/>
    <sbh:bookmark>false</sbh:bookmark>
    <sbh:mutableDescription>Bidirectional transcriptional terminator consisting of a 22 bp stem-loop.
</sbh:mutableDescription>
    <sbh:mutableNotes>

In the naturally-occuring sequence there is a mismatch in the stem of the      stem loop. This can be corrected via an A-&gt;G mutation (at position 40 -- sequence coordinate/not MFOLD coordinate). The above sequence does not reflect this mutation (but the MFOLD image does). This terminator's location cannot be      found using some inverted repeat detectors like PALINDROME because it is too      short and contains a mismatch. This one was found with the help of Tom Knight.      It lies between two coding regions that point towards eachother.
</sbh:mutableNotes>
    <sbh:mutableProvenance>Derived from luxICDABEG operon terminator of Vibrio fischeri <genbank>AF170104</genbank>.</sbh:mutableProvenance>
    <sbh:ownedBy rdf:resource="https://synbiohub.org/user/james"/>
    <sbh:ownedBy rdf:resource="https://synbiohub.org/user/myers"/>
    <sbh:star>true</sbh:star>
    <sbh:topLevel rdf:resource="https://synbiohub.org/public/igem/BBa_B0011/1"/>
    <prov:wasDerivedFrom rdf:resource="http://parts.igem.org/Part:BBa_B0011"/>
    <prov:wasGeneratedBy rdf:resource="https://synbiohub.org/public/igem/igem2sbol/1"/>
    <sbol:sequenceAnnotation>
      <sbol:SequenceAnnotation rdf:about="https://synbiohub.org/public/igem/BBa_B0011/annotation7019/1">
        <dcterms:title>BBa_B0011</dcterms:title>
        <sbol:displayId>annotation7019</sbol:displayId>
        <sbol:persistentIdentity rdf:resource="https://synbiohub.org/public/igem/BBa_B0011/annotation7019"/>
        <sbol:role rdf:resource="http://identifiers.org/so/SO:0000804"/>
        <sbol:role rdf:resource="http://wiki.synbiohub.org/wiki/Terms/igem#feature/BioBrick"/>
        <sbol:version>1</sbol:version>
        <sbh:topLevel rdf:resource="https://synbiohub.org/public/igem/BBa_B0011/1"/>
        <sbol:location>
          <sbol:Range rdf:about="https://synbiohub.org/public/igem/BBa_B0011/annotation7019/range7019/1">
            <sbol:displayId>range7019</sbol:displayId>
            <sbol:end>46</sbol:end>
            <sbol:orientation rdf:resource="http://sbols.org/v2#inline"/>
            <sbol:persistentIdentity rdf:resource="https://synbiohub.org/public/igem/BBa_B0011/annotation7019/range7019"/>
            <sbol:start>1</sbol:start>
            <sbol:version>1</sbol:version>
            <igem:direction rdf:resource="http://wiki.synbiohub.org/wiki/Terms/igem#direction/forward"/>
            <sbh:topLevel rdf:resource="https://synbiohub.org/public/igem/BBa_B0011/1"/>
          </sbol:Range>
        </sbol:location>
      </sbol:SequenceAnnotation>
    </sbol:sequenceAnnotation>
    <sbol:sequenceAnnotation>
      <sbol:SequenceAnnotation rdf:about="https://synbiohub.org/public/igem/BBa_B0011/annotation1683/1">
        <dcterms:title>stem_loop</dcterms:title>
        <sbol:displayId>annotation1683</sbol:displayId>
        <sbol:persistentIdentity rdf:resource="https://synbiohub.org/public/igem/BBa_B0011/annotation1683"/>
        <sbol:role rdf:resource="http://wiki.synbiohub.org/wiki/Terms/igem#feature/stem_loop"/>
        <sbol:role rdf:resource="http://identifiers.org/so/SO:0000313"/>
        <sbol:version>1</sbol:version>
        <sbh:topLevel rdf:resource="https://synbiohub.org/public/igem/BBa_B0011/1"/>
        <sbol:location>
          <sbol:Range rdf:about="https://synbiohub.org/public/igem/BBa_B0011/annotation1683/range1683/1">
            <sbol:displayId>range1683</sbol:displayId>
            <sbol:end>35</sbol:end>
            <sbol:orientation rdf:resource="http://sbols.org/v2#inline"/>
            <sbol:persistentIdentity rdf:resource="https://synbiohub.org/public/igem/BBa_B0011/annotation1683/range1683"/>
            <sbol:start>13</sbol:start>
            <sbol:version>1</sbol:version>
            <igem:direction rdf:resource="http://wiki.synbiohub.org/wiki/Terms/igem#direction/forward"/>
            <sbh:topLevel rdf:resource="https://synbiohub.org/public/igem/BBa_B0011/1"/>
          </sbol:Range>
        </sbol:location>
      </sbol:SequenceAnnotation>
    </sbol:sequenceAnnotation>
  </sbol:ComponentDefinition>
  <sbol:Sequence rdf:about="https://synbiohub.org/public/igem/BBa_K1545001_sequence/1">
    <sbol:displayId>BBa_K1545001_sequence</sbol:displayId>
    <sbol:elements>ccatctaattcaacaagaattggtgatgttaatccatctaattcaacaagaattggtgatgttaatccatctaattcaacaagaattggtgatgttaatccatctaattcaacaagaattggtgatgttaatccatctaattcaacaagaattggtgatgttaatccatctaattcaacaagaattggtgatgttaat</sbol:elements>
    <sbol:encoding rdf:resource="http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html"/>
    <sbol:persistentIdentity rdf:resource="https://synbiohub.org/public/igem/BBa_K1545001_sequence"/>
    <sbol:version>1</sbol:version>
    <sbh:ownedBy rdf:resource="https://synbiohub.org/user/james"/>
    <sbh:ownedBy rdf:resource="https://synbiohub.org/user/myers"/>
    <sbh:topLevel rdf:resource="https://synbiohub.org/public/igem/BBa_K1545001_sequence/1"/>
    <prov:wasDerivedFrom rdf:resource="http://parts.igem.org/Part:BBa_K1545001"/>
    <prov:wasGeneratedBy rdf:resource="https://synbiohub.org/public/igem/igem2sbol/1"/>
  </sbol:Sequence>
  <sbol:ComponentDefinition rdf:about="http://michael.zhang/Pro/1">
    <sbol:displayId>Pro</sbol:displayId>
    <sbol:persistentIdentity rdf:resource="http://michael.zhang/Pro"/>
    <sbol:role rdf:resource="http://identifiers.org/so/SO:0000167"/>
    <sbol:type rdf:resource="http://www.biopax.org/release/biopax-level3.owl#DnaRegion"/>
    <sbol:version>1</sbol:version>
    <prov:wasGeneratedBy rdf:resource="http://michael.zhang/GFP_Reporter_Template_GeneratedInstance2_SBOLDesignerActivity/1"/>
    <prov:wasGeneratedBy rdf:resource="http://michael.zhang/GFP_Reporter_Template_SBOLDesignerActivity/1"/>
  </sbol:ComponentDefinition>
  <sbol:Sequence rdf:about="https://synbiohub.org/public/igem/BBa_B0014_sequence/1">
    <sbol:displayId>BBa_B0014_sequence</sbol:displayId>
    <sbol:elements>tcacactggctcaccttcgggtgggcctttctgcgtttatatactagagagagaatataaaaagccagattattaatccggcttttttattattt</sbol:elements>
    <sbol:encoding rdf:resource="http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html"/>
    <sbol:persistentIdentity rdf:resource="https://synbiohub.org/public/igem/BBa_B0014_sequence"/>
    <sbol:version>1</sbol:version>
    <sbh:ownedBy rdf:resource="https://synbiohub.org/user/james"/>
    <sbh:ownedBy rdf:resource="https://synbiohub.org/user/myers"/>
    <sbh:topLevel rdf:resource="https://synbiohub.org/public/igem/BBa_B0014_sequence/1"/>
    <prov:wasDerivedFrom rdf:resource="http://parts.igem.org/Part:BBa_B0014"/>
    <prov:wasGeneratedBy rdf:resource="https://synbiohub.org/public/igem/igem2sbol/1"/>
  </sbol:Sequence>
  <sbol:Sequence rdf:about="https://synbiohub.org/public/igem/BBa_B0034_sequence/1">
    <sbol:displayId>BBa_B0034_sequence</sbol:displayId>
    <sbol:elements>aaagaggagaaa</sbol:elements>
    <sbol:encoding rdf:resource="http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html"/>
    <sbol:persistentIdentity rdf:resource="https://synbiohub.org/public/igem/BBa_B0034_sequence"/>
    <sbol:version>1</sbol:version>
    <sbh:ownedBy rdf:resource="https://synbiohub.org/user/james"/>
    <sbh:ownedBy rdf:resource="https://synbiohub.org/user/myers"/>
    <sbh:topLevel rdf:resource="https://synbiohub.org/public/igem/BBa_B0034_sequence/1"/>
    <prov:wasDerivedFrom rdf:resource="http://parts.igem.org/Part:BBa_B0034"/>
    <prov:wasGeneratedBy rdf:resource="https://synbiohub.org/public/igem/igem2sbol/1"/>
  </sbol:Sequence>
  <sbol:ComponentDefinition rdf:about="https://synbiohub.org/public/igem/BBa_B0014/1">
    <dc:creator>Reshma Shetty</dc:creator>
    <dcterms:created>2003-07-15T11:00:00Z</dcterms:created>
    <dcterms:description>double terminator (B0012-B0011)</dcterms:description>
    <dcterms:modified>2015-08-31T04:07:20Z</dcterms:modified>
    <dcterms:title>BBa_B0014</dcterms:title>
    <sbol:displayId>BBa_B0014</sbol:displayId>
    <sbol:persistentIdentity rdf:resource="https://synbiohub.org/public/igem/BBa_B0014"/>
    <sbol:role rdf:resource="http://identifiers.org/so/SO:0000141"/>
    <sbol:role rdf:resource="http://wiki.synbiohub.org/wiki/Terms/igem#partType/Terminator"/>
    <sbol:sequence rdf:resource="https://synbiohub.org/public/igem/BBa_B0014_sequence/1"/>
    <sbol:type rdf:resource="http://www.biopax.org/release/biopax-level3.owl#DnaRegion"/>
    <sbol:version>1</sbol:version>
    <igem:discontinued>false</igem:discontinued>
    <igem:dominant>true</igem:dominant>
    <igem:experience rdf:resource="http://wiki.synbiohub.org/wiki/Terms/igem#experience/Works"/>
    <igem:group_u_list>_1_</igem:group_u_list>
    <igem:m_user_id>0</igem:m_user_id>
    <igem:owner_id>24</igem:owner_id>
    <igem:owning_group_id>7</igem:owning_group_id>
    <igem:partStatus>Released HQ 2013</igem:partStatus>
    <igem:sampleStatus>In stock</igem:sampleStatus>
    <igem:status rdf:resource="http://wiki.synbiohub.org/wiki/Terms/igem#status/Available"/>
    <sbh:bookmark>false</sbh:bookmark>
    <sbh:mutableDescription>Double terminator consisting of BBa_B0012 and BBa_B0011</sbh:mutableDescription>
    <sbh:ownedBy rdf:resource="https://synbiohub.org/user/james"/>
    <sbh:ownedBy rdf:resource="https://synbiohub.org/user/myers"/>
    <sbh:star>true</sbh:star>
    <sbh:topLevel rdf:resource="https://synbiohub.org/public/igem/BBa_B0014/1"/>
    <prov:wasDerivedFrom rdf:resource="http://parts.igem.org/Part:BBa_B0014"/>
    <prov:wasGeneratedBy rdf:resource="https://synbiohub.org/public/igem/igem2sbol/1"/>
    <sbol:component>
      <sbol:Component rdf:about="https://synbiohub.org/public/igem/BBa_B0014/component939311/1">
        <dcterms:title>BBa_B0011</dcterms:title>
        <sbol:access rdf:resource="http://sbols.org/v2#public"/>
        <sbol:definition rdf:resource="https://synbiohub.org/public/igem/BBa_B0011/1"/>
        <sbol:displayId>component939311</sbol:displayId>
        <sbol:persistentIdentity rdf:resource="https://synbiohub.org/public/igem/BBa_B0014/component939311"/>
        <sbol:version>1</sbol:version>
        <sbh:topLevel rdf:resource="https://synbiohub.org/public/igem/BBa_B0014/1"/>
      </sbol:Component>
    </sbol:component>
    <sbol:component>
      <sbol:Component rdf:about="https://synbiohub.org/public/igem/BBa_B0014/component939303/1">
        <dcterms:title>BBa_B0012</dcterms:title>
        <sbol:access rdf:resource="http://sbols.org/v2#public"/>
        <sbol:definition rdf:resource="https://synbiohub.org/public/igem/BBa_B0012/1"/>
        <sbol:displayId>component939303</sbol:displayId>
        <sbol:persistentIdentity rdf:resource="https://synbiohub.org/public/igem/BBa_B0014/component939303"/>
        <sbol:version>1</sbol:version>
        <sbh:topLevel rdf:resource="https://synbiohub.org/public/igem/BBa_B0014/1"/>
      </sbol:Component>
    </sbol:component>
    <sbol:sequenceAnnotation>
      <sbol:SequenceAnnotation rdf:about="https://synbiohub.org/public/igem/BBa_B0014/annotation939303/1">
        <dcterms:title>BBa_B0012</dcterms:title>
        <sbol:component rdf:resource="https://synbiohub.org/public/igem/BBa_B0014/component939303/1"/>
        <sbol:displayId>annotation939303</sbol:displayId>
        <sbol:persistentIdentity rdf:resource="https://synbiohub.org/public/igem/BBa_B0014/annotation939303"/>
        <sbol:version>1</sbol:version>
        <sbh:topLevel rdf:resource="https://synbiohub.org/public/igem/BBa_B0014/1"/>
        <sbol:location>
          <sbol:Range rdf:about="https://synbiohub.org/public/igem/BBa_B0014/annotation939303/range939303/1">
            <sbol:displayId>range939303</sbol:displayId>
            <sbol:end>41</sbol:end>
            <sbol:orientation rdf:resource="http://sbols.org/v2#inline"/>
            <sbol:persistentIdentity rdf:resource="https://synbiohub.org/public/igem/BBa_B0014/annotation939303/range939303"/>
            <sbol:start>1</sbol:start>
            <sbol:version>1</sbol:version>
            <igem:direction rdf:resource="http://wiki.synbiohub.org/wiki/Terms/igem#direction/forward"/>
            <sbh:topLevel rdf:resource="https://synbiohub.org/public/igem/BBa_B0014/1"/>
          </sbol:Range>
        </sbol:location>
      </sbol:SequenceAnnotation>
    </sbol:sequenceAnnotation>
    <sbol:sequenceAnnotation>
      <sbol:SequenceAnnotation rdf:about="https://synbiohub.org/public/igem/BBa_B0014/annotation939311/1">
        <dcterms:title>BBa_B0011</dcterms:title>
        <sbol:component rdf:resource="https://synbiohub.org/public/igem/BBa_B0014/component939311/1"/>
        <sbol:displayId>annotation939311</sbol:displayId>
        <sbol:persistentIdentity rdf:resource="https://synbiohub.org/public/igem/BBa_B0014/annotation939311"/>
        <sbol:version>1</sbol:version>
        <sbh:topLevel rdf:resource="https://synbiohub.org/public/igem/BBa_B0014/1"/>
        <sbol:location>
          <sbol:Range rdf:about="https://synbiohub.org/public/igem/BBa_B0014/annotation939311/range939311/1">
            <sbol:displayId>range939311</sbol:displayId>
            <sbol:end>95</sbol:end>
            <sbol:orientation rdf:resource="http://sbols.org/v2#inline"/>
            <sbol:persistentIdentity rdf:resource="https://synbiohub.org/public/igem/BBa_B0014/annotation939311/range939311"/>
            <sbol:start>50</sbol:start>
            <sbol:version>1</sbol:version>
            <igem:direction rdf:resource="http://wiki.synbiohub.org/wiki/Terms/igem#direction/forward"/>
            <sbh:topLevel rdf:resource="https://synbiohub.org/public/igem/BBa_B0014/1"/>
          </sbol:Range>
        </sbol:location>
      </sbol:SequenceAnnotation>
    </sbol:sequenceAnnotation>
  </sbol:ComponentDefinition>
  <sbol:Sequence rdf:about="https://synbiohub.org/public/igem/BBa_B0011_sequence/1">
    <sbol:displayId>BBa_B0011_sequence</sbol:displayId>
    <sbol:elements>agagaatataaaaagccagattattaatccggcttttttattattt</sbol:elements>
    <sbol:encoding rdf:resource="http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html"/>
    <sbol:persistentIdentity rdf:resource="https://synbiohub.org/public/igem/BBa_B0011_sequence"/>
    <sbol:version>1</sbol:version>
    <sbh:ownedBy rdf:resource="https://synbiohub.org/user/james"/>
    <sbh:ownedBy rdf:resource="https://synbiohub.org/user/myers"/>
    <sbh:topLevel rdf:resource="https://synbiohub.org/public/igem/BBa_B0011_sequence/1"/>
    <prov:wasDerivedFrom rdf:resource="http://parts.igem.org/Part:BBa_B0011"/>
    <prov:wasGeneratedBy rdf:resource="https://synbiohub.org/public/igem/igem2sbol/1"/>
  </sbol:Sequence>
  <sbol:ComponentDefinition rdf:about="https://synbiohub.org/public/igem/BBa_K1545001/1">
    <dc:creator>Mike Zhu</dc:creator>
    <dcterms:created>2014-10-08T11:00:00Z</dcterms:created>
    <dcterms:description>6xGFP1 decoy</dcterms:description>
    <dcterms:modified>2015-05-08T01:10:53Z</dcterms:modified>
    <dcterms:title>BBa_K1545001</dcterms:title>
    <sbol:displayId>BBa_K1545001</sbol:displayId>
    <sbol:persistentIdentity rdf:resource="https://synbiohub.org/public/igem/BBa_K1545001"/>
    <sbol:role rdf:resource="http://identifiers.org/so/SO:0000167"/>
    <sbol:role rdf:resource="http://wiki.synbiohub.org/wiki/Terms/igem#partType/Regulatory"/>
    <sbol:sequence rdf:resource="https://synbiohub.org/public/igem/BBa_K1545001_sequence/1"/>
    <sbol:type rdf:resource="http://www.biopax.org/release/biopax-level3.owl#DnaRegion"/>
    <sbol:version>1</sbol:version>
    <igem:discontinued>false</igem:discontinued>
    <igem:dominant>false</igem:dominant>
    <igem:group_u_list>_1928_</igem:group_u_list>
    <igem:m_user_id>0</igem:m_user_id>
    <igem:owner_id>23396</igem:owner_id>
    <igem:owning_group_id>9</igem:owning_group_id>
    <igem:sampleStatus>In stock</igem:sampleStatus>
    <igem:status rdf:resource="http://wiki.synbiohub.org/wiki/Terms/igem#status/Available"/>
    <sbh:bookmark>false</sbh:bookmark>
    <sbh:mutableDescription>Array of 6 binding sites for gRNAs matching CCATCTAATTCAACAAGAATTGG + 7 bp spacer</sbh:mutableDescription>
    <sbh:mutableNotes>n/a</sbh:mutableNotes>
    <sbh:mutableProvenance>synthesized</sbh:mutableProvenance>
    <sbh:ownedBy rdf:resource="https://synbiohub.org/user/james"/>
    <sbh:ownedBy rdf:resource="https://synbiohub.org/user/myers"/>
    <sbh:star>false</sbh:star>
    <sbh:topLevel rdf:resource="https://synbiohub.org/public/igem/BBa_K1545001/1"/>
    <prov:wasDerivedFrom rdf:resource="http://parts.igem.org/Part:BBa_K1545001"/>
    <prov:wasGeneratedBy rdf:resource="https://synbiohub.org/public/igem/igem2sbol/1"/>
    <sbol:sequenceAnnotation>
      <sbol:SequenceAnnotation rdf:about="https://synbiohub.org/public/igem/BBa_K1545001/annotation2407780/1">
        <dcterms:title>GFP1 binding site + NGG</dcterms:title>
        <sbol:displayId>annotation2407780</sbol:displayId>
        <sbol:persistentIdentity rdf:resource="https://synbiohub.org/public/igem/BBa_K1545001/annotation2407780"/>
        <sbol:role rdf:resource="http://identifiers.org/so/SO:0000110"/>
        <sbol:role rdf:resource="http://wiki.synbiohub.org/wiki/Terms/igem#feature/misc"/>
        <sbol:version>1</sbol:version>
        <sbh:topLevel rdf:resource="https://synbiohub.org/public/igem/BBa_K1545001/1"/>
        <sbol:location>
          <sbol:Range rdf:about="https://synbiohub.org/public/igem/BBa_K1545001/annotation2407780/range2407780/1">
            <sbol:displayId>range2407780</sbol:displayId>
            <sbol:end>24</sbol:end>
            <sbol:orientation rdf:resource="http://sbols.org/v2#inline"/>
            <sbol:persistentIdentity rdf:resource="https://synbiohub.org/public/igem/BBa_K1545001/annotation2407780/range2407780"/>
            <sbol:start>1</sbol:start>
            <sbol:version>1</sbol:version>
            <igem:direction rdf:resource="http://wiki.synbiohub.org/wiki/Terms/igem#direction/forward"/>
            <sbh:topLevel rdf:resource="https://synbiohub.org/public/igem/BBa_K1545001/1"/>
          </sbol:Range>
        </sbol:location>
      </sbol:SequenceAnnotation>
    </sbol:sequenceAnnotation>
  </sbol:ComponentDefinition>
  <sbol:ComponentDefinition rdf:about="https://synbiohub.org/public/igem/BBa_K1545000/1">
    <dc:creator>Mike Zhu</dc:creator>
    <dcterms:created>2014-10-08T11:00:00Z</dcterms:created>
    <dcterms:description>1xGFP1 decoy</dcterms:description>
    <dcterms:modified>2015-05-08T01:10:53Z</dcterms:modified>
    <dcterms:title>BBa_K1545000</dcterms:title>
    <sbol:displayId>BBa_K1545000</sbol:displayId>
    <sbol:persistentIdentity rdf:resource="https://synbiohub.org/public/igem/BBa_K1545000"/>
    <sbol:role rdf:resource="http://identifiers.org/so/SO:0000167"/>
    <sbol:role rdf:resource="http://wiki.synbiohub.org/wiki/Terms/igem#partType/Regulatory"/>
    <sbol:sequence rdf:resource="https://synbiohub.org/public/igem/BBa_K1545000_sequence/1"/>
    <sbol:type rdf:resource="http://www.biopax.org/release/biopax-level3.owl#DnaRegion"/>
    <sbol:version>1</sbol:version>
    <igem:discontinued>false</igem:discontinued>
    <igem:dominant>false</igem:dominant>
    <igem:group_u_list>_1928_</igem:group_u_list>
    <igem:m_user_id>0</igem:m_user_id>
    <igem:owner_id>23396</igem:owner_id>
    <igem:owning_group_id>9</igem:owning_group_id>
    <igem:sampleStatus>In stock</igem:sampleStatus>
    <igem:status rdf:resource="http://wiki.synbiohub.org/wiki/Terms/igem#status/Available"/>
    <sbh:bookmark>false</sbh:bookmark>
    <sbh:mutableDescription>Array of 1 binding site for gRNAs matching CCATCTAATTCAACAAGAATTGG + 7 bp spacer</sbh:mutableDescription>
    <sbh:mutableNotes>n/a</sbh:mutableNotes>
    <sbh:mutableProvenance>synthesized</sbh:mutableProvenance>
    <sbh:ownedBy rdf:resource="https://synbiohub.org/user/james"/>
    <sbh:ownedBy rdf:resource="https://synbiohub.org/user/myers"/>
    <sbh:star>false</sbh:star>
    <sbh:topLevel rdf:resource="https://synbiohub.org/public/igem/BBa_K1545000/1"/>
    <prov:wasDerivedFrom rdf:resource="http://parts.igem.org/Part:BBa_K1545000"/>
    <prov:wasGeneratedBy rdf:resource="https://synbiohub.org/public/igem/igem2sbol/1"/>
    <sbol:sequenceAnnotation>
      <sbol:SequenceAnnotation rdf:about="https://synbiohub.org/public/igem/BBa_K1545000/annotation2407646/1">
        <dcterms:title>GFP1 binding site + NGG</dcterms:title>
        <sbol:displayId>annotation2407646</sbol:displayId>
        <sbol:persistentIdentity rdf:resource="https://synbiohub.org/public/igem/BBa_K1545000/annotation2407646"/>
        <sbol:role rdf:resource="http://identifiers.org/so/SO:0000110"/>
        <sbol:role rdf:resource="http://wiki.synbiohub.org/wiki/Terms/igem#feature/misc"/>
        <sbol:version>1</sbol:version>
        <sbh:topLevel rdf:resource="https://synbiohub.org/public/igem/BBa_K1545000/1"/>
        <sbol:location>
          <sbol:Range rdf:about="https://synbiohub.org/public/igem/BBa_K1545000/annotation2407646/range2407646/1">
            <sbol:displayId>range2407646</sbol:displayId>
            <sbol:end>24</sbol:end>
            <sbol:orientation rdf:resource="http://sbols.org/v2#inline"/>
            <sbol:persistentIdentity rdf:resource="https://synbiohub.org/public/igem/BBa_K1545000/annotation2407646/range2407646"/>
            <sbol:start>1</sbol:start>
            <sbol:version>1</sbol:version>
            <igem:direction rdf:resource="http://wiki.synbiohub.org/wiki/Terms/igem#direction/forward"/>
            <sbh:topLevel rdf:resource="https://synbiohub.org/public/igem/BBa_K1545000/1"/>
          </sbol:Range>
        </sbol:location>
      </sbol:SequenceAnnotation>
    </sbol:sequenceAnnotation>
  </sbol:ComponentDefinition>
  <prov:Activity rdf:about="https://synbiohub.org/public/igem/igem2sbol/1">
    <dc:creator>Chris J. Myers</dc:creator>
    <dc:creator>James Alastair McLaughlin</dc:creator>
    <dcterms:description>Conversion of the iGEM parts registry to SBOL2.1</dcterms:description>
    <dcterms:title>iGEM to SBOL conversion</dcterms:title>
    <sbol:displayId>igem2sbol</sbol:displayId>
    <sbol:persistentIdentity rdf:resource="https://synbiohub.org/public/igem/igem2sbol"/>
    <sbol:version>1</sbol:version>
    <sbh:ownedBy rdf:resource="https://synbiohub.org/user/james"/>
    <sbh:ownedBy rdf:resource="https://synbiohub.org/user/myers"/>
    <sbh:topLevel rdf:resource="https://synbiohub.org/public/igem/igem2sbol/1"/>
    <prov:endedAtTime>2017-03-06T08:00:00.000-07:00</prov:endedAtTime>
  </prov:Activity>
  <sbol:ComponentDefinition rdf:about="http://michael.zhang/GFP_Reporter_Template/1">
    <sbol:displayId>GFP_Reporter_Template</sbol:displayId>
    <sbol:persistentIdentity rdf:resource="http://michael.zhang/GFP_Reporter_Template"/>
    <sbol:role rdf:resource="http://identifiers.org/so/SO:0000804"/>
    <sbol:sequence rdf:resource="http://michael.zhang/GFP_Reporter_TemplateSequence/1"/>
    <sbol:type rdf:resource="http://www.biopax.org/release/biopax-level3.owl#DnaRegion"/>
    <sbol:version>1</sbol:version>
    <prov:wasDerivedFrom rdf:resource="http://michael.zhang/UnnamedPart/1"/>
    <prov:wasGeneratedBy rdf:resource="http://michael.zhang/GFP_Reporter_Template_GeneratedInstance2_SBOLDesignerActivity/1"/>
    <prov:wasGeneratedBy rdf:resource="http://michael.zhang/GFP_Reporter_Template_SBOLDesignerActivity/1"/>
    <sbol:component>
      <sbol:Component rdf:about="http://michael.zhang/GFP_Reporter_Template/Ter_Component/1">
        <sbol:access rdf:resource="http://sbols.org/v2#public"/>
        <sbol:definition rdf:resource="https://synbiohub.org/public/igem/BBa_B0014/1"/>
        <sbol:displayId>Ter_Component</sbol:displayId>
        <sbol:persistentIdentity rdf:resource="http://michael.zhang/GFP_Reporter_Template/Ter_Component"/>
        <sbol:version>1</sbol:version>
      </sbol:Component>
    </sbol:component>
    <sbol:component>
      <sbol:Component rdf:about="http://michael.zhang/GFP_Reporter_Template/Pro_Component/1">
        <sbol:access rdf:resource="http://sbols.org/v2#public"/>
        <sbol:definition rdf:resource="http://michael.zhang/Pro/1"/>
        <sbol:displayId>Pro_Component</sbol:displayId>
        <sbol:persistentIdentity rdf:resource="http://michael.zhang/GFP_Reporter_Template/Pro_Component"/>
        <sbol:version>1</sbol:version>
      </sbol:Component>
    </sbol:component>
    <sbol:component>
      <sbol:Component rdf:about="http://michael.zhang/GFP_Reporter_Template/CDS_Component/1">
        <sbol:access rdf:resource="http://sbols.org/v2#public"/>
        <sbol:definition rdf:resource="http://michael.zhang/CDS/1"/>
        <sbol:displayId>CDS_Component</sbol:displayId>
        <sbol:persistentIdentity rdf:resource="http://michael.zhang/GFP_Reporter_Template/CDS_Component"/>
        <sbol:version>1</sbol:version>
      </sbol:Component>
    </sbol:component>
    <sbol:component>
      <sbol:Component rdf:about="http://michael.zhang/GFP_Reporter_Template/RBS_Component/1">
        <sbol:access rdf:resource="http://sbols.org/v2#public"/>
        <sbol:definition rdf:resource="https://synbiohub.org/public/igem/BBa_B0034/1"/>
        <sbol:displayId>RBS_Component</sbol:displayId>
        <sbol:persistentIdentity rdf:resource="http://michael.zhang/GFP_Reporter_Template/RBS_Component"/>
        <sbol:version>1</sbol:version>
      </sbol:Component>
    </sbol:component>
    <sbol:sequenceAnnotation>
      <sbol:SequenceAnnotation rdf:about="http://michael.zhang/GFP_Reporter_Template/GFP_Reporter_Template_SequenceAnnotation2/1">
        <sbol:component rdf:resource="http://michael.zhang/GFP_Reporter_Template/CDS_Component/1"/>
        <sbol:displayId>GFP_Reporter_Template_SequenceAnnotation2</sbol:displayId>
        <sbol:persistentIdentity rdf:resource="http://michael.zhang/GFP_Reporter_Template/GFP_Reporter_Template_SequenceAnnotation2"/>
        <sbol:version>1</sbol:version>
        <sbol:location>
          <sbol:GenericLocation rdf:about="http://michael.zhang/GFP_Reporter_Template/GFP_Reporter_Template_SequenceAnnotation2/GenericLocation/1">
            <sbol:displayId>GenericLocation</sbol:displayId>
            <sbol:orientation rdf:resource="http://sbols.org/v2#inline"/>
            <sbol:persistentIdentity rdf:resource="http://michael.zhang/GFP_Reporter_Template/GFP_Reporter_Template_SequenceAnnotation2/GenericLocation"/>
            <sbol:version>1</sbol:version>
          </sbol:GenericLocation>
        </sbol:location>
      </sbol:SequenceAnnotation>
    </sbol:sequenceAnnotation>
    <sbol:sequenceAnnotation>
      <sbol:SequenceAnnotation rdf:about="http://michael.zhang/GFP_Reporter_Template/GFP_Reporter_Template_SequenceAnnotation/1">
        <sbol:component rdf:resource="http://michael.zhang/GFP_Reporter_Template/Pro_Component/1"/>
        <sbol:displayId>GFP_Reporter_Template_SequenceAnnotation</sbol:displayId>
        <sbol:persistentIdentity rdf:resource="http://michael.zhang/GFP_Reporter_Template/GFP_Reporter_Template_SequenceAnnotation"/>
        <sbol:version>1</sbol:version>
        <sbol:location>
          <sbol:GenericLocation rdf:about="http://michael.zhang/GFP_Reporter_Template/GFP_Reporter_Template_SequenceAnnotation/GenericLocation/1">
            <sbol:displayId>GenericLocation</sbol:displayId>
            <sbol:orientation rdf:resource="http://sbols.org/v2#inline"/>
            <sbol:persistentIdentity rdf:resource="http://michael.zhang/GFP_Reporter_Template/GFP_Reporter_Template_SequenceAnnotation/GenericLocation"/>
            <sbol:version>1</sbol:version>
          </sbol:GenericLocation>
        </sbol:location>
      </sbol:SequenceAnnotation>
    </sbol:sequenceAnnotation>
    <sbol:sequenceAnnotation>
      <sbol:SequenceAnnotation rdf:about="http://michael.zhang/GFP_Reporter_Template/GFP_Reporter_Template_SequenceAnnotation1/1">
        <sbol:component rdf:resource="http://michael.zhang/GFP_Reporter_Template/RBS_Component/1"/>
        <sbol:displayId>GFP_Reporter_Template_SequenceAnnotation1</sbol:displayId>
        <sbol:persistentIdentity rdf:resource="http://michael.zhang/GFP_Reporter_Template/GFP_Reporter_Template_SequenceAnnotation1"/>
        <sbol:version>1</sbol:version>
        <sbol:location>
          <sbol:Range rdf:about="http://michael.zhang/GFP_Reporter_Template/GFP_Reporter_Template_SequenceAnnotation1/GFP_Reporter_Template_SequenceAnnotation1_Range/1">
            <sbol:displayId>GFP_Reporter_Template_SequenceAnnotation1_Range</sbol:displayId>
            <sbol:end>12</sbol:end>
            <sbol:orientation rdf:resource="http://sbols.org/v2#inline"/>
            <sbol:persistentIdentity rdf:resource="http://michael.zhang/GFP_Reporter_Template/GFP_Reporter_Template_SequenceAnnotation1/GFP_Reporter_Template_SequenceAnnotation1_Range"/>
            <sbol:start>1</sbol:start>
            <sbol:version>1</sbol:version>
          </sbol:Range>
        </sbol:location>
      </sbol:SequenceAnnotation>
    </sbol:sequenceAnnotation>
    <sbol:sequenceAnnotation>
      <sbol:SequenceAnnotation rdf:about="http://michael.zhang/GFP_Reporter_Template/GFP_Reporter_Template_SequenceAnnotation3/1">
        <sbol:component rdf:resource="http://michael.zhang/GFP_Reporter_Template/Ter_Component/1"/>
        <sbol:displayId>GFP_Reporter_Template_SequenceAnnotation3</sbol:displayId>
        <sbol:persistentIdentity rdf:resource="http://michael.zhang/GFP_Reporter_Template/GFP_Reporter_Template_SequenceAnnotation3"/>
        <sbol:version>1</sbol:version>
        <sbol:location>
          <sbol:Range rdf:about="http://michael.zhang/GFP_Reporter_Template/GFP_Reporter_Template_SequenceAnnotation3/GFP_Reporter_Template_SequenceAnnotation3_Range/1">
            <sbol:displayId>GFP_Reporter_Template_SequenceAnnotation3_Range</sbol:displayId>
            <sbol:end>107</sbol:end>
            <sbol:orientation rdf:resource="http://sbols.org/v2#inline"/>
            <sbol:persistentIdentity rdf:resource="http://michael.zhang/GFP_Reporter_Template/GFP_Reporter_Template_SequenceAnnotation3/GFP_Reporter_Template_SequenceAnnotation3_Range"/>
            <sbol:start>13</sbol:start>
            <sbol:version>1</sbol:version>
          </sbol:Range>
        </sbol:location>
      </sbol:SequenceAnnotation>
    </sbol:sequenceAnnotation>
    <sbol:sequenceConstraint>
      <sbol:SequenceConstraint rdf:about="http://michael.zhang/GFP_Reporter_Template/GFP_Reporter_Template_SequenceConstraint1/1">
        <sbol:displayId>GFP_Reporter_Template_SequenceConstraint1</sbol:displayId>
        <sbol:object rdf:resource="http://michael.zhang/GFP_Reporter_Template/CDS_Component/1"/>
        <sbol:persistentIdentity rdf:resource="http://michael.zhang/GFP_Reporter_Template/GFP_Reporter_Template_SequenceConstraint1"/>
        <sbol:restriction rdf:resource="http://sbols.org/v2#precedes"/>
        <sbol:subject rdf:resource="http://michael.zhang/GFP_Reporter_Template/RBS_Component/1"/>
        <sbol:version>1</sbol:version>
      </sbol:SequenceConstraint>
    </sbol:sequenceConstraint>
    <sbol:sequenceConstraint>
      <sbol:SequenceConstraint rdf:about="http://michael.zhang/GFP_Reporter_Template/GFP_Reporter_Template_SequenceConstraint2/1">
        <sbol:displayId>GFP_Reporter_Template_SequenceConstraint2</sbol:displayId>
        <sbol:object rdf:resource="http://michael.zhang/GFP_Reporter_Template/Ter_Component/1"/>
        <sbol:persistentIdentity rdf:resource="http://michael.zhang/GFP_Reporter_Template/GFP_Reporter_Template_SequenceConstraint2"/>
        <sbol:restriction rdf:resource="http://sbols.org/v2#precedes"/>
        <sbol:subject rdf:resource="http://michael.zhang/GFP_Reporter_Template/CDS_Component/1"/>
        <sbol:version>1</sbol:version>
      </sbol:SequenceConstraint>
    </sbol:sequenceConstraint>
    <sbol:sequenceConstraint>
      <sbol:SequenceConstraint rdf:about="http://michael.zhang/GFP_Reporter_Template/GFP_Reporter_Template_SequenceConstraint/1">
        <sbol:displayId>GFP_Reporter_Template_SequenceConstraint</sbol:displayId>
        <sbol:object rdf:resource="http://michael.zhang/GFP_Reporter_Template/RBS_Component/1"/>
        <sbol:persistentIdentity rdf:resource="http://michael.zhang/GFP_Reporter_Template/GFP_Reporter_Template_SequenceConstraint"/>
        <sbol:restriction rdf:resource="http://sbols.org/v2#precedes"/>
        <sbol:subject rdf:resource="http://michael.zhang/GFP_Reporter_Template/Pro_Component/1"/>
        <sbol:version>1</sbol:version>
      </sbol:SequenceConstraint>
    </sbol:sequenceConstraint>
  </sbol:ComponentDefinition>
  <sbol:ComponentDefinition rdf:about="https://synbiohub.org/public/igem/BBa_B0034/1">
    <dc:creator>Vinay S Mahajan, Voichita D. Marinescu, Brian Chow, Alexander      D Wissner-Gross and Peter Carr IAP, 2003.</dc:creator>
    <dcterms:created>2003-01-31T12:00:00Z</dcterms:created>
    <dcterms:description>RBS (Elowitz 1999) -- defines RBS efficiency</dcterms:description>
    <dcterms:modified>2015-08-31T04:07:20Z</dcterms:modified>
    <dcterms:title>BBa_B0034</dcterms:title>
    <sbol:displayId>BBa_B0034</sbol:displayId>
    <sbol:persistentIdentity rdf:resource="https://synbiohub.org/public/igem/BBa_B0034"/>
    <sbol:role rdf:resource="http://identifiers.org/so/SO:0000139"/>
    <sbol:role rdf:resource="http://wiki.synbiohub.org/wiki/Terms/igem#partType/RBS"/>
    <sbol:sequence rdf:resource="https://synbiohub.org/public/igem/BBa_B0034_sequence/1"/>
    <sbol:type rdf:resource="http://www.biopax.org/release/biopax-level3.owl#DnaRegion"/>
    <sbol:version>1</sbol:version>
    <igem:discontinued>false</igem:discontinued>
    <igem:dominant>true</igem:dominant>
    <igem:experience rdf:resource="http://wiki.synbiohub.org/wiki/Terms/igem#experience/Works"/>
    <igem:group_u_list>_1_</igem:group_u_list>
    <igem:m_user_id>0</igem:m_user_id>
    <igem:owner_id>24</igem:owner_id>
    <igem:owning_group_id>7</igem:owning_group_id>
    <igem:partStatus>Released HQ 2013</igem:partStatus>
    <igem:sampleStatus>In stock</igem:sampleStatus>
    <igem:status rdf:resource="http://wiki.synbiohub.org/wiki/Terms/igem#status/Available"/>
    <sbh:bookmark>false</sbh:bookmark>
    <sbh:mutableDescription>RBS based on Elowitz repressilator.</sbh:mutableDescription>
    <sbh:mutableNotes>Varies from -6 to +1 region from original sequence to accomodate BioBricks      suffix.
No secondary structures are formed in the given RBS region. Users should check      for secondary structures induced in the RBS by upstream and downstream elements      in the +50 to -50 region, as such structures will greatly affect the strength      of the RBS.

Contact info for this part: Brian Chow</sbh:mutableNotes>
    <sbh:ownedBy rdf:resource="https://synbiohub.org/user/james"/>
    <sbh:ownedBy rdf:resource="https://synbiohub.org/user/myers"/>
    <sbh:star>true</sbh:star>
    <sbh:topLevel rdf:resource="https://synbiohub.org/public/igem/BBa_B0034/1"/>
    <prov:wasDerivedFrom rdf:resource="http://parts.igem.org/Part:BBa_B0034"/>
    <prov:wasGeneratedBy rdf:resource="https://synbiohub.org/public/igem/igem2sbol/1"/>
    <sbol:sequenceAnnotation>
      <sbol:SequenceAnnotation rdf:about="https://synbiohub.org/public/igem/BBa_B0034/annotation23325/1">
        <dcterms:title>conserved</dcterms:title>
        <sbol:displayId>annotation23325</sbol:displayId>
        <sbol:persistentIdentity rdf:resource="https://synbiohub.org/public/igem/BBa_B0034/annotation23325"/>
        <sbol:role rdf:resource="http://wiki.synbiohub.org/wiki/Terms/igem#feature/conserved"/>
        <sbol:role rdf:resource="http://identifiers.org/so/SO:0000330"/>
        <sbol:version>1</sbol:version>
        <sbh:topLevel rdf:resource="https://synbiohub.org/public/igem/BBa_B0034/1"/>
        <sbol:location>
          <sbol:Range rdf:about="https://synbiohub.org/public/igem/BBa_B0034/annotation23325/range23325/1">
            <sbol:displayId>range23325</sbol:displayId>
            <sbol:end>8</sbol:end>
            <sbol:orientation rdf:resource="http://sbols.org/v2#inline"/>
            <sbol:persistentIdentity rdf:resource="https://synbiohub.org/public/igem/BBa_B0034/annotation23325/range23325"/>
            <sbol:start>5</sbol:start>
            <sbol:version>1</sbol:version>
            <igem:direction rdf:resource="http://wiki.synbiohub.org/wiki/Terms/igem#direction/forward"/>
            <sbh:topLevel rdf:resource="https://synbiohub.org/public/igem/BBa_B0034/1"/>
          </sbol:Range>
        </sbol:location>
      </sbol:SequenceAnnotation>
    </sbol:sequenceAnnotation>
  </sbol:ComponentDefinition>
  <sbol:ComponentDefinition rdf:about="https://synbiohub.org/public/igem/BBa_B0012/1">
    <dc:creator>Reshma Shetty</dc:creator>
    <dcterms:created>2003-01-31T12:00:00Z</dcterms:created>
    <dcterms:description>TE from coliphageT7</dcterms:description>
    <dcterms:modified>2015-08-31T04:07:20Z</dcterms:modified>
    <dcterms:title>BBa_B0012</dcterms:title>
    <sbol:displayId>BBa_B0012</sbol:displayId>
    <sbol:persistentIdentity rdf:resource="https://synbiohub.org/public/igem/BBa_B0012"/>
    <sbol:role rdf:resource="http://identifiers.org/so/SO:0000141"/>
    <sbol:role rdf:resource="http://wiki.synbiohub.org/wiki/Terms/igem#partType/Terminator"/>
    <sbol:sequence rdf:resource="https://synbiohub.org/public/igem/BBa_B0012_sequence/1"/>
    <sbol:type rdf:resource="http://www.biopax.org/release/biopax-level3.owl#DnaRegion"/>
    <sbol:version>1</sbol:version>
    <igem:discontinued>false</igem:discontinued>
    <igem:dominant>false</igem:dominant>
    <igem:experience rdf:resource="http://wiki.synbiohub.org/wiki/Terms/igem#experience/Fails"/>
    <igem:group_u_list>_1_</igem:group_u_list>
    <igem:m_user_id>0</igem:m_user_id>
    <igem:owner_id>24</igem:owner_id>
    <igem:owning_group_id>7</igem:owning_group_id>
    <igem:partStatus>Released HQ 2013</igem:partStatus>
    <igem:sampleStatus>In stock</igem:sampleStatus>
    <igem:status rdf:resource="http://wiki.synbiohub.org/wiki/Terms/igem#status/Available"/>
    <sbh:bookmark>false</sbh:bookmark>
    <sbh:mutableDescription>Transcription terminator for the E.coli RNA polymerase.</sbh:mutableDescription>
    <sbh:mutableNotes>

Suggested by Sri Kosuri and Drew Endy as a high efficiency terminator. The      5' end cutoff was placed immediately after the TAA stop codon and the 3' end      cutoff was placed just prior to the RBS of Gene 1.4 (before AAGGAG).
 Use anywhere transcription should be stopped when the gene of interest is upstream of this terminator.</sbh:mutableNotes>
    <sbh:mutableProvenance>Derived from the TE terminator of T7 bacteriophage between Genes 1.3 and 1.4      <genbank>V01146</genbank>.</sbh:mutableProvenance>
    <sbh:ownedBy rdf:resource="https://synbiohub.org/user/james"/>
    <sbh:ownedBy rdf:resource="https://synbiohub.org/user/myers"/>
    <sbh:star>false</sbh:star>
    <sbh:topLevel rdf:resource="https://synbiohub.org/public/igem/BBa_B0012/1"/>
    <prov:wasDerivedFrom rdf:resource="http://parts.igem.org/Part:BBa_B0012"/>
    <prov:wasGeneratedBy rdf:resource="https://synbiohub.org/public/igem/igem2sbol/1"/>
    <sbol:sequenceAnnotation>
      <sbol:SequenceAnnotation rdf:about="https://synbiohub.org/public/igem/BBa_B0012/annotation1687/1">
        <dcterms:title>stop</dcterms:title>
        <sbol:displayId>annotation1687</sbol:displayId>
        <sbol:persistentIdentity rdf:resource="https://synbiohub.org/public/igem/BBa_B0012/annotation1687"/>
        <sbol:role rdf:resource="http://identifiers.org/so/SO:0000319"/>
        <sbol:role rdf:resource="http://wiki.synbiohub.org/wiki/Terms/igem#feature/stop"/>
        <sbol:version>1</sbol:version>
        <sbh:topLevel rdf:resource="https://synbiohub.org/public/igem/BBa_B0012/1"/>
        <sbol:location>
          <sbol:Range rdf:about="https://synbiohub.org/public/igem/BBa_B0012/annotation1687/range1687/1">
            <sbol:displayId>range1687</sbol:displayId>
            <sbol:end>34</sbol:end>
            <sbol:orientation rdf:resource="http://sbols.org/v2#inline"/>
            <sbol:persistentIdentity rdf:resource="https://synbiohub.org/public/igem/BBa_B0012/annotation1687/range1687"/>
            <sbol:start>34</sbol:start>
            <sbol:version>1</sbol:version>
            <igem:direction rdf:resource="http://wiki.synbiohub.org/wiki/Terms/igem#direction/forward"/>
            <sbh:topLevel rdf:resource="https://synbiohub.org/public/igem/BBa_B0012/1"/>
          </sbol:Range>
        </sbol:location>
      </sbol:SequenceAnnotation>
    </sbol:sequenceAnnotation>
    <sbol:sequenceAnnotation>
      <sbol:SequenceAnnotation rdf:about="https://synbiohub.org/public/igem/BBa_B0012/annotation1690/1">
        <dcterms:title>polya</dcterms:title>
        <sbol:displayId>annotation1690</sbol:displayId>
        <sbol:persistentIdentity rdf:resource="https://synbiohub.org/public/igem/BBa_B0012/annotation1690"/>
        <sbol:role rdf:resource="http://wiki.synbiohub.org/wiki/Terms/igem#feature/polya"/>
        <sbol:role rdf:resource="http://identifiers.org/so/SO:0000553"/>
        <sbol:version>1</sbol:version>
        <sbh:topLevel rdf:resource="https://synbiohub.org/public/igem/BBa_B0012/1"/>
        <sbol:location>
          <sbol:Range rdf:about="https://synbiohub.org/public/igem/BBa_B0012/annotation1690/range1690/1">
            <sbol:displayId>range1690</sbol:displayId>
            <sbol:end>41</sbol:end>
            <sbol:orientation rdf:resource="http://sbols.org/v2#inline"/>
            <sbol:persistentIdentity rdf:resource="https://synbiohub.org/public/igem/BBa_B0012/annotation1690/range1690"/>
            <sbol:start>28</sbol:start>
            <sbol:version>1</sbol:version>
            <igem:direction rdf:resource="http://wiki.synbiohub.org/wiki/Terms/igem#direction/forward"/>
            <sbh:topLevel rdf:resource="https://synbiohub.org/public/igem/BBa_B0012/1"/>
          </sbol:Range>
        </sbol:location>
      </sbol:SequenceAnnotation>
    </sbol:sequenceAnnotation>
    <sbol:sequenceAnnotation>
      <sbol:SequenceAnnotation rdf:about="https://synbiohub.org/public/igem/BBa_B0012/annotation1686/1">
        <dcterms:title>T7 TE</dcterms:title>
        <sbol:displayId>annotation1686</sbol:displayId>
        <sbol:persistentIdentity rdf:resource="https://synbiohub.org/public/igem/BBa_B0012/annotation1686"/>
        <sbol:role rdf:resource="http://wiki.synbiohub.org/wiki/Terms/igem#feature/stem_loop"/>
        <sbol:role rdf:resource="http://identifiers.org/so/SO:0000313"/>
        <sbol:version>1</sbol:version>
        <sbh:topLevel rdf:resource="https://synbiohub.org/public/igem/BBa_B0012/1"/>
        <sbol:location>
          <sbol:Range rdf:about="https://synbiohub.org/public/igem/BBa_B0012/annotation1686/range1686/1">
            <sbol:displayId>range1686</sbol:displayId>
            <sbol:end>27</sbol:end>
            <sbol:orientation rdf:resource="http://sbols.org/v2#inline"/>
            <sbol:persistentIdentity rdf:resource="https://synbiohub.org/public/igem/BBa_B0012/annotation1686/range1686"/>
            <sbol:start>8</sbol:start>
            <sbol:version>1</sbol:version>
            <igem:direction rdf:resource="http://wiki.synbiohub.org/wiki/Terms/igem#direction/forward"/>
            <sbh:topLevel rdf:resource="https://synbiohub.org/public/igem/BBa_B0012/1"/>
          </sbol:Range>
        </sbol:location>
      </sbol:SequenceAnnotation>
    </sbol:sequenceAnnotation>
    <sbol:sequenceAnnotation>
      <sbol:SequenceAnnotation rdf:about="https://synbiohub.org/public/igem/BBa_B0012/annotation7020/1">
        <dcterms:title>BBa_B0012</dcterms:title>
        <sbol:displayId>annotation7020</sbol:displayId>
        <sbol:persistentIdentity rdf:resource="https://synbiohub.org/public/igem/BBa_B0012/annotation7020"/>
        <sbol:role rdf:resource="http://identifiers.org/so/SO:0000804"/>
        <sbol:role rdf:resource="http://wiki.synbiohub.org/wiki/Terms/igem#feature/BioBrick"/>
        <sbol:version>1</sbol:version>
        <sbh:topLevel rdf:resource="https://synbiohub.org/public/igem/BBa_B0012/1"/>
        <sbol:location>
          <sbol:Range rdf:about="https://synbiohub.org/public/igem/BBa_B0012/annotation7020/range7020/1">
            <sbol:displayId>range7020</sbol:displayId>
            <sbol:end>41</sbol:end>
            <sbol:orientation rdf:resource="http://sbols.org/v2#inline"/>
            <sbol:persistentIdentity rdf:resource="https://synbiohub.org/public/igem/BBa_B0012/annotation7020/range7020"/>
            <sbol:start>1</sbol:start>
            <sbol:version>1</sbol:version>
            <igem:direction rdf:resource="http://wiki.synbiohub.org/wiki/Terms/igem#direction/forward"/>
            <sbh:topLevel rdf:resource="https://synbiohub.org/public/igem/BBa_B0012/1"/>
          </sbol:Range>
        </sbol:location>
      </sbol:SequenceAnnotation>
    </sbol:sequenceAnnotation>
  </sbol:ComponentDefinition>
</rdf:RDF>


text:
using DragonSpark.Model.Commands;
using Xunit;

namespace DragonSpark.Testing.Model.Commands;

public class EmptyCommandTests
{
	[Fact]
	public void Coverage() => EmptyCommand<object>.Default.Execute(null!);
}

redpajama_set_name: RedPajamaGithub


text:
var CONST = require('../scale/const');

/**
 * Attempts to determine the screen orientation using the Orientation API.
 *
 * @function Phaser.DOM.GetScreenOrientation
 * @since 3.16.0
 *
 * @param {number} width - The width of the viewport.
 * @param {number} height - The height of the viewport.
 *
 * @return {string} The orientation.
 */
var GetScreenOrientation = function (width, height)
{
    var screen = window.screen;
    var orientation = (screen) ? screen.orientation || screen.mozOrientation || screen.msOrientation : false;

    if (orientation && typeof orientation.type === 'string')
    {
        //  Screen Orientation API specification
        return orientation.type;
    }
    else if (typeof orientation === 'string')
    {
        //  moz / ms-orientation are strings
        return orientation;
    }

    if (typeof window.orientation === 'number')
    {
        //  Do this check first, as iOS supports this, but also has an incomplete window.screen implementation
        //  This may change by device based on "natural" orientation.
        return (window.orientation === 0 || window.orientation === 180) ? CONST.ORIENTATION.PORTRAIT : CONST.ORIENTATION.LANDSCAPE;
    }
    else if (window.matchMedia)
    {
        if (window.matchMedia('(orientation: portrait)').matches)
        {
            return CONST.ORIENTATION.PORTRAIT;
        }
        else if (window.matchMedia('(orientation: landscape)').matches)
        {
            return CONST.ORIENTATION.LANDSCAPE;
        }
    }
    else
    {
        return (height > width) ? CONST.ORIENTATION.PORTRAIT : CONST.ORIENTATION.LANDSCAPE;
    }
};

module.exports = GetScreenOrientation;


text:
[![Build Status](https://travis-ci.org/maknz/slack.svg?branch=master)](https://travis-ci.org/maknz/slack)
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/maknz/slack/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/maknz/slack/?branch=master)

A simple PHP package for sending messages to [Slack](https://slack.com) with [incoming webhooks](https://my.slack.com/services/new/incoming-webhook), focussed on ease-of-use and elegant syntax. Includes Laravel 4 and 5 support out of the box.

## Requirements

* PHP 5.4 or greater

## Installation

You can install the package using the [Composer](https://getcomposer.org/) package manager. You can install it by running this command in your project root:

```sh
composer require maknz/slack
```

Then [create an incoming webhook](https://my.slack.com/services/new/incoming-webhook) on your Slack account for the package to use. You'll need the webhook URL to instantiate the client (or for the configuration file if using Laravel).

## Laravel

We include service providers and a facade for easy integration and a nice syntax for Laravel.

Firstly, add the `Maknz\Slack\SlackServiceProvider` provider to the providers array in `config/app.php` (or `app/config.php` for Laravel 4)

```php
'providers' => [
  ...
  'Maknz\Slack\SlackServiceProvider',
],
```

and then add the facade to your `aliases` array

```php
'aliases' => [
  ...
  'Slack' => 'Maknz\Slack\Facades\Slack',
],
```

### Configuration

Publish the configuration file with:

```sh
// Laravel 5, file will be at config/slack.php
php artisan vendor:publish --provider="Maknz\Slack\SlackServiceProviderLaravel5"

// Laravel 4, file will be at app/config/packages/maknz/slack/config.php
php artisan config:publish maknz/slack
```

Head into the file and configure the defaults you'd like the package to use. If `null` is set for any, the package will fall back on the default set on the webhook.

The configuration file is used to bypass the client instantiation process to make using the package easier. Therefore, you can skip the the *Instantiate the client* section below and dive right into using the package.

## Basic Usage

### Instantiate the client

```php
// Instantiate without defaults
$client = new Maknz\Slack\Client('http://your.slack.endpoint');

// Instantiate with defaults, so all messages created
// will be sent from 'Cyril' and to the #accounting channel
// by default. Any names like @regan or #channel will also be linked.
$settings = [
	'username' => 'Cyril',
	'channel' => '#accounting',
	'link_names' => true
];

$client = new Maknz\Slack\Client('http://your.slack.endpoint', $settings);
```

#### Settings

All settings are optional, but are a convenient way of specifying how the client should behave beyond the defaults.

* `channel`: the default channel that messages will be sent to
   * string
	* default: the setting on the webhook
* `username`: the default username that messages will be sent from
	* string
	* default: the setting on the webhook
* `icon`: the default icon messages will be sent with, either :emoji: or a URL to an image
   * string
   * default: the setting on the webhook
* `link_names`: whether names like @regan or #accounting should be linked
   * bool
   * default: `false`
* `unfurl_links`: whether Slack should unfurl text-based URLs
   * bool
   * default: `false`
* `unfurl_media`: whether Slack should unfurl media-based URLs
   * bool
   * default: `true`
* `allow_markdown`: whether Markdown should be parsed in messages
	* bool
	* default: `true`
* `markdown_in_attachments`: which attachment fields should have Markdown parsed
   * array
   * default: `[]`

### Sending messages

To send messages, you will call methods on your client instance, or use the `Slack` facade if you are using the package in Laravel.

#### Sending a basic message

```php
// With an instantiated client
$client->send('Hello world!');

// or the Laravel facade
Slack::send('Hello world!');
```

#### Sending a message to a non-default channel
```php
// With an instantiated client
$client->to('#accounting')->send('Are we rich yet?');

// or the Laravel facade
Slack::to('#accounting')->send('Are we rich yet?');
```

#### Sending a message to a user
```php
$client->to('@regan')->send('Yo!');
```

#### Sending a message to a channel as a different username
```php
$client->from('Jake the Dog')->to('@FinnTheHuman')->send('Adventure time!');
```

#### Sending a message with a different icon
```php
// Either with a Slack emoji
$client->to('@regan')->withIcon(':ghost:')->send('Boo!');

// or a URL
$client->to('#accounting')->withIcon('http://example.com/accounting.png')->send('Some accounting notification');
```

#### Send an attachment

```php
$client->to('@regan')->attach([
	'fallback' => 'It is all broken, man', // Fallback text for plaintext clients, like IRC
	'text' => 'It is all broken, man', // The text for inside the attachment
	'pretext' => 'From user: JimBob', // Optional text to appear above the attachment and below the actual message
	'color' => 'bad', // Change the color of the attachment, default is 'good'
])->send('New alert from the monitoring system');
```

#### Send an attachment with fields

```php
$client->to('#operations')->attach([
	'fallback' => 'It is all broken, man',
	'text' => 'It is all broken, man',
	'pretext' => 'From user: JimBob',
	'color' => 'bad',
	'fields' => [
		[
			'title' => 'Metric 1',
			'value' => 'Some value'
		],
		[
			'title' => 'Metric 2',
			'value' => 'Some value',
			'short' => true // whether the field is short enough to sit side-by-side other fields, defaults to false
		]
	]
])->send('New alert from the monitoring system');
```

#### Send a message modifying Markdown parsing on the fly

```php
$client->to('#weird')->disableMarkdown()->send('Disable *markdown* just for this message');

$client->to('#general')->enableMarkdown()->send('Enable _markdown_ just for this message');
```

#### Send an attachment specifying Markdown parsing on the fly

```php
$client->to('#operations')->attach([
	'fallback' => 'It is all broken, man',
	'text' => 'It is _all_ broken, man',
	'pretext' => 'From user: *JimBob*',
	'color' => 'bad',
	'mrkdwn_in' => ['pretext', 'text']
])->send('New alert from the monitoring system');
```

#### Send an attachment with an author

```php
$client->to('@regan')->attach([
	'fallback' => 'Things are looking good',
	'text' => 'Things are looking good',
	'author_name' => 'Bobby Tables',
	'author_link' => 'http://flickr.com/bobby/',
	'author_url' => 'http://flickr.com/icons/bobby.jpg'
])->send('New alert from the monitoring system');
```

## Advanced usage

### Explicit message creation

For convenience, message objects are created implicitly by calling message methods on the client. We can however do this explicitly to avoid hitting the magic method.

```php
// Implicitly
$client->to('@regan')->send('I am sending this implicitly');

// Explicitly
$message = $client->createMessage();

$message->to('@regan')->setText('I am sending this explicitly');

$message->send();
```

### Attachments

When using attachments, the easiest way is to provide an array of data as shown in the examples, which is actually converted to an Attachment object under the hood. You can also attach an Attachment object to the message:

```php
$attachment = new Attachment([
	'fallback' => 'Some fallback text',
	'text' => 'The attachment text'
]);

// Explicitly create a message from the client
// rather than using the magic passthrough methods
$message = $client->createMessage();

$message->attach($attachment);

// Explicitly set the message text rather than
// implicitly through the send method
$message->setText('Hello world')->send();
```

Each attachment field is also an object, an AttachmentField. They can be used as well instead of their data in array form:

```php
$attachment = new Attachment([
	'fallback' => 'Some fallback text',
	'text' => 'The attachment text',
	'fields' => [
		new AttachmentField([
			'title' => 'A title',
			'value' => 'A value',
			'short' => true
		])
	]
]);
```

You can also set the attachments and fields directly if you have a whole lot of them:

```php
// implicitly create a message and set the attachments
$client->setAttachments($bigArrayOfAttachments);

// or explicitly
$client->createMessage()->setAttachments($bigArrayOfAttachments);
```

```php
$attachment = new Attachment([]);

$attachment->setFields($bigArrayOfFields);
```

## Contributing

If you're having problems, spot a bug, or have a feature suggestion, please log and issue on Github. If you'd like to have a crack yourself, fork the package and make a pull request. Please include tests for any added or changed functionality. If it's a bug, include a regression test.


text:
<?php

namespace Kontrolio\Data;

use Kontrolio\Rules\Core\Sometimes;
use Kontrolio\Rules\RuleInterface;

/**
 * Validated attribute.
 */
final class Attribute
{
    private $value;
    private $attribute;

    /**
     * @param string $attribute
     * @param mixed $value
     */
    public function __construct($attribute, $value = null)
    {
        $this->attribute = $attribute;
        $this->value = $value;
    }

    public function getName()
    {
        return $this->attribute;
    }

    public function getValue()
    {
        return $this->value;
    }

    /**
     * Indicates whether the attribute can skip validation by the given rule.
     *
     * @param RuleInterface $rule
     *
     * @return bool
     */
    public function canSkip(RuleInterface $rule)
    {
        return $rule instanceof Sometimes && $this->isEmpty();
    }

    /**
     * Indicates whether the attribute is valid according to the given rule.
     *
     * @param RuleInterface $rule
     *
     * @return bool
     */
    public function conformsTo(RuleInterface $rule)
    {
        return $rule->isValid($this->value) ||
               $rule->canSkipValidation($this->value) ||
               ($rule->emptyValueAllowed() && $this->isEmpty());
    }

    public function isEmpty()
    {
        return $this->value === null || $this->value === '';
    }
}


text:
inherit STD_ARMOUR;

void create_object(void);

void create_object(void)
{
    set_name("boots");
    add_id("boot");
    add_id("leather boots");
    set_short("a pair of leather boots");
    set_long("A pair of small leather boots.\n");
    set_type("boot");
    set_weight(1);
    set_value(13);
    set_new_ac(4);
    set_material("leather");
    set_property("average");
}


text:
//
//  UILabel+WDKit.m
//  PlayTogether
//
//  Created by 何伟东 on 2016/11/9.
//  Copyright © 2016年 何伟东. All rights reserved.
//

#import "UILabel+WDKit.h"
#import "UIView+WDKit.h"
#import "WDUtils.h"

@implementation UILabel (WDKit)

/**
 固定宽度计算文字高度

 @return <#return value description#>
 */
-(CGFloat)textHeight{
    return [WDUtils textHeight:self.text font:self.font width:self.width];
}

/**
 固定高度计算文字宽度

 @return <#return value description#>
 */
-(CGFloat)textWidth{
    return [WDUtils textWidth:self.text font:self.font height:self.height];
}

@end


text:
<?php

namespace Eddmash\PowerOrm\Model\Lookup;

class GreaterThan extends BaseLookup
{
    public $operator = '>';

    public static $lookupName = 'gt';
}


text: data base frames


text:
<?xml version="1.0" encoding="UTF-8"?>
<CancelReportRequestsResponse xmlns="http://mws.amazonaws.com/doc/2009-01-01/">
    <CancelReportRequestsResult>
        <Count>100</Count>
        <!--1 or more repetitions:-->
        <ReportRequestInfo>
            <ReportRequestId>string</ReportRequestId>
            <ReportType>string</ReportType>
            <StartDate>2008-09-28T18:49:45</StartDate>
            <EndDate>2014-09-18T16:18:33</EndDate>
            <Scheduled>false</Scheduled>
            <SubmittedDate>2006-08-19T10:27:14-07:00</SubmittedDate>
            <ReportProcessingStatus>string</ReportProcessingStatus>
            <GeneratedReportId>string</GeneratedReportId>
            <StartedProcessingDate>2008-04-22T10:44:23</StartedProcessingDate>
            <CompletedDate>2012-01-12T03:16:16</CompletedDate>
        </ReportRequestInfo>
    </CancelReportRequestsResult>
    <ResponseMetadata>
        <RequestId>string</RequestId>
    </ResponseMetadata>
</CancelReportRequestsResponse>


text:
// This file is automatically generated.

package adila.db;

/*
 * Sharp AQUOS PHONE SoftBank  102SH II
 *
 * DEVICE: SBM102SH2
 * MODEL: SBM102SH2
 */
final class sbm102sh2_sbm102sh2 {
    public static final String DATA = "Sharp|AQUOS PHONE SoftBank  102SH II|";
}


text:
package partials

import (
	"errors"
	"fmt"
	"html/template"
	"io"
	"io/ioutil"
	"reflect"
	"strings"
	"sync"

	"github.com/gohugoio/hugo/common/hreflect"
	texttemplate "github.com/gohugoio/hugo/tpl/internal/go_templates/texttemplate"

	"github.com/gohugoio/hugo/helpers"

	"github.com/gohugoio/hugo/tpl"

	bp "github.com/gohugoio/hugo/bufferpool"
	"github.com/gohugoio/hugo/deps"
)

// TestTemplateProvider is global deps.ResourceProvider.
// NOTE: It's currently unused.
var TestTemplateProvider deps.ResourceProvider

type partialCacheKey struct {
	name    string
	variant interface{}
}

// partialCache represents a cache of partials protected by a mutex.
type partialCache struct {
	sync.RWMutex
	p map[partialCacheKey]interface{}
}

func (p *partialCache) clear() {
	p.Lock()
	defer p.Unlock()
	p.p = make(map[partialCacheKey]interface{})
}

// New returns a new instance of the templates-namespaced template functions.
func New(deps *deps.Deps) *Namespace {
	cache := &partialCache{p: make(map[partialCacheKey]interface{})}
	deps.BuildStartListeners.Add(
		func() {
			cache.clear()
		})

	return &Namespace{
		deps:           deps,
		cachedPartials: cache,
	}
}

// Namespace provides template functions for the "templates" namespace.
type Namespace struct {
	deps           *deps.Deps
	cachedPartials *partialCache
}

// contextWrapper makes room for a return value in a partial invocation.
type contextWrapper struct {
	Arg    interface{}
	Result interface{}
}

// Set sets the return value and returns an empty string.
func (c *contextWrapper) Set(in interface{}) string {
	c.Result = in
	return ""
}

// Include executes the named partial.
// If the partial contains a return statement, that value will be returned.
// Else, the rendered output will be returned:
// A string if the partial is a text/template, or template.HTML when html/template.
func (ns *Namespace) Include(name string, contextList ...interface{}) (interface{}, error) {
	name = strings.TrimPrefix(name, "partials/")

	var context interface{}
	if len(contextList) > 0 {
		context = contextList[0]
	}

	n := "partials/" + name
	templ, found := ns.deps.Tmpl().Lookup(n)

	if !found {
		// For legacy reasons.
		templ, found = ns.deps.Tmpl().Lookup(n + ".html")
	}

	if !found {
		return "", fmt.Errorf("partial %q not found", name)
	}

	var info tpl.ParseInfo
	if ip, ok := templ.(tpl.Info); ok {
		info = ip.ParseInfo()
	}

	var w io.Writer

	if info.HasReturn {
		if !hreflect.IsTruthful(context) {
			// TODO(bep) we need to fix this, but it is non-trivial.
			return nil, errors.New("partial that returns a value needs a non-zero argument.")
		}
		// Wrap the context sent to the template to capture the return value.
		// Note that the template is rewritten to make sure that the dot (".")
		// and the $ variable points to Arg.
		context = &contextWrapper{
			Arg: context,
		}

		// We don't care about any template output.
		w = ioutil.Discard
	} else {
		b := bp.GetBuffer()
		defer bp.PutBuffer(b)
		w = b
	}

	if err := ns.deps.Tmpl().Execute(templ, w, context); err != nil {
		return "", err
	}

	var result interface{}

	if ctx, ok := context.(*contextWrapper); ok {
		result = ctx.Result
	} else if _, ok := templ.(*texttemplate.Template); ok {
		result = w.(fmt.Stringer).String()
	} else {
		result = template.HTML(w.(fmt.Stringer).String())
	}

	if ns.deps.Metrics != nil {
		ns.deps.Metrics.TrackValue(templ.Name(), result)
	}

	return result, nil
}

// IncludeCached executes and caches partial templates.  The cache is created with name+variants as the key.
func (ns *Namespace) IncludeCached(name string, context interface{}, variants ...interface{}) (interface{}, error) {
	key, err := createKey(name, variants...)
	if err != nil {
		return nil, err
	}

	result, err := ns.getOrCreate(key, context)
	if err == errUnHashable {
		// Try one more
		key.variant = helpers.HashString(key.variant)
		result, err = ns.getOrCreate(key, context)
	}

	return result, err
}

func createKey(name string, variants ...interface{}) (partialCacheKey, error) {
	var variant interface{}

	if len(variants) > 1 {
		variant = helpers.HashString(variants...)
	} else if len(variants) == 1 {
		variant = variants[0]
		t := reflect.TypeOf(variant)
		switch t.Kind() {
		// This isn't an exhaustive list of unhashable types.
		// There may be structs with slices,
		// but that should be very rare. We do recover from that situation
		// below.
		case reflect.Slice, reflect.Array, reflect.Map:
			variant = helpers.HashString(variant)
		}
	}

	return partialCacheKey{name: name, variant: variant}, nil
}

var errUnHashable = errors.New("unhashable")

func (ns *Namespace) getOrCreate(key partialCacheKey, context interface{}) (result interface{}, err error) {
	defer func() {
		if r := recover(); r != nil {
			err = r.(error)
			if strings.Contains(err.Error(), "unhashable type") {
				ns.cachedPartials.RUnlock()
				err = errUnHashable
			}
		}
	}()

	ns.cachedPartials.RLock()
	p, ok := ns.cachedPartials.p[key]
	ns.cachedPartials.RUnlock()

	if ok {
		return p, nil
	}

	p, err = ns.Include(key.name, context)
	if err != nil {
		return nil, err
	}

	ns.cachedPartials.Lock()
	defer ns.cachedPartials.Unlock()
	// Double-check.
	if p2, ok := ns.cachedPartials.p[key]; ok {
		return p2, nil
	}
	ns.cachedPartials.p[key] = p

	return p, nil
}